当前位置:   article > 正文

PyQt5 基本语法(七):布局管理_python qt设置主界面布局为2×2布局

python qt设置主界面布局为2×2布局

布局管理

1、 布局概念

布局就是指按照某种规则将子控件摆放在父控件中

2、 布局方式

2.1 手动布局

2.1.1 绝对布局

直接给具体的坐标信息和尺寸信息;设置之后,后续如果不重新设置,则一直不变

操作方法:move() resize()

2.1.2 方法重写

重写resizeEvent(evt)方法

在内部,根据父控件的尺寸大小的调整重新计算

2.2 布局管理器

包含了一些特定的规则:

  • 横着水平排列
  • 竖着垂直排列
  • 网格排列
  • 表单排列
  • ···

使用这些布局管理器进行布局,可以快速的实现指定布局效果,不需要手动计算位置尺寸

3、 布局管理器概念

Qt包含一个布局管理类的集合,它们被用来描述控件如何在应用程序的用户界面中呈现的;当可用空间发生减少时,这些布局将自动调整控件的位置和大小

布局管理器不是界面控件,而是界面控件的定位策略

所有QWidget类别及其子类都可以用布局来管理它们的子控件

  • 布局子控件
  • 最高层窗口可感知的默认大小
  • 最高层窗口可感知的最小大小
  • 调整大小的处理
  • 当内容改变的时候自动更新:
    • 字体大小、文本或者子控件的其他内容
    • 隐藏或者显示子控件
    • 移除一些子控件

4、 使用演示

  1. 创建布局对象
    • 不需要设置父对象
  2. 设置布局对象参数
  3. 设置给需要布局子控件的父控件 \ 调整方向
  4. 将布局控件内部的子控件添加到布局管理器中,自动进行布局

5、 详细使用

5.1 QLayout

5.1.1 作用

布局管理器的抽象基类

5.1.2 功能描述
5.1.2.1 构造函数
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# @author: kun
from PyQt5.Qt import *
import sys

app = QApplication(sys.argv)
w = QWidget()
w.resize(500, 500)

# 可以不用自定父控件
l1 = QLabel("标签1")
l1.setStyleSheet("background-color: cyan")
l2 = QLabel("标签2")
l2.setStyleSheet("background-color: yellow")
l3 = QLabel("标签3")
l3.setStyleSheet("background-color: red")

# 1. 创建一个布局管理器对象
layout = QBoxLayout(QBoxLayout.LeftToRight)  # 创建

# 2. 直接把布局管理器对象设置给需要布局的父控件,并进行布局
w.setLayout(layout)

# 3. 把需要布局的子控件添加到布局管理器当中
layout.addWidget(l1)
layout.addWidget(l2)
layout.addWidget(l3)

w.show()
sys.exit(app.exec_())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
5.1.2.2 方法功能
# 小控件之间的间距
setSpacing(int)

# 外边距
setContentMargins(QMargin)

# 添加子控件
addWidget(QWidget)

# 替换子控件
replaceWidget(QWiget from, QWiget to)  # 注意被替换的空间,不再被此布局管理,替换后要对被替换的空间进行隐藏:hide()、删除:setParent(None)、重新添加到新的布局中

# 添加子布局
addLayout(QLayout)  

# 能用性
setEnabled(bool)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5.2 QBoxLayout

5.2.1 作用

提供水平或垂直方向的布局管理器;这个一般很少使用,会选择两个封装好的子类

5.2.2 功能描述
5.2.2.1 构造函数

                
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/816744
推荐阅读
相关标签
  

闽ICP备14008679号