赞
踩
布局就是指按照某种规则将子控件摆放在父控件中
直接给具体的坐标信息和尺寸信息;设置之后,后续如果不重新设置,则一直不变
操作方法:move() resize()
重写resizeEvent(evt)
方法
在内部,根据父控件的尺寸大小的调整重新计算
包含了一些特定的规则:
使用这些布局管理器进行布局,可以快速的实现指定布局效果,不需要手动计算位置尺寸
Qt包含一个布局管理类的集合,它们被用来描述控件如何在应用程序的用户界面中呈现的;当可用空间发生减少时,这些布局将自动调整控件的位置和大小
布局管理器不是界面控件,而是界面控件的定位策略
所有QWidget类别及其子类都可以用布局来管理它们的子控件
布局管理器的抽象基类
#!/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_())
# 小控件之间的间距 setSpacing(int) # 外边距 setContentMargins(QMargin) # 添加子控件 addWidget(QWidget) # 替换子控件 replaceWidget(QWiget from, QWiget to) # 注意被替换的空间,不再被此布局管理,替换后要对被替换的空间进行隐藏:hide()、删除:setParent(None)、重新添加到新的布局中 # 添加子布局 addLayout(QLayout) # 能用性 setEnabled(bool)
提供水平或垂直方向的布局管理器;这个一般很少使用,会选择两个封装好的子类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。