• PyQt(Python+Qt)学习随笔:Qt Designer中spacer部件的orientation属性


    在Designer的spacers部件中有2个部件,分别是Horizontal Spacer和Vertical Spacer,这两个部件都有orientation属性,表示Spacer部件的方向。
    如图:
    在这里插入图片描述
    第一个布局中的Spacer部件是Horizontal Spacer,方向是水平方向,第二个布局中的Spacer部件是Vertical Spacer部件,方向是垂直方向。

    我们把这两个布局中的Spacer部件的方向进行调换,将水平部件的方向改为垂直,垂直部件的方向改为水平,如图:
    在这里插入图片描述
    可以看到方向调整之后,两个Spacer部件的效果也调换了,我们再来看看UI界面文件生成的代码:
    第一种情况生成的代码分别为:

       spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem)
       .......
       spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
       self.horizontalLayout_6.addItem(spacerItem1)
       
    

    第二种情况生成的代码为:

    spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
    self.horizontalLayout_5.addItem(spacerItem)
    .......
     spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
     self.horizontalLayout_6.addItem(spacerItem1)
    
    

    可以看到并没有方向orientation属性的直接代码,而是通过将宽度和高度两个值对调,同时sizePolicy的宽带和高度的sizePolicy也进行了对调。

    由此可见,无论是Horizontal Spacer还是Vertical Spacer,以及其设置不同的方向,本质上都是一致的,都是一个QSpacerItem类型的对象,在哪个方向扩展就将另一个方向的值设置小一点,并将自己方向的扩展测了设置为sizeType属性指定值,另一个方向的大小策略设置为Minimum。

    老猿Python,跟老猿学Python!

    博文目录

    博客地址

  • 相关阅读:
    由于缺少调试目标"……",Visual Studio无法开始调试。请生成项目并重试……
    设置ComboBox的只能选择属性
    双缓冲画线示例
    给控件添加背景透明
    设置播放器声音
    使用DotNetBar中的ContextMenuBar实现鼠标右键上下文菜单
    导入注册表文件,注册dll
    使用ImageConverter转换图标
    百度统计api 关于搜索引擎返回参数问题
    tp5.0 SHOW COLUMNS FROM 生成数据表字段缓存
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/11931612.html
Copyright © 2020-2023  润新知