- PyQt5 教程
- PyQt5 - 首页
- PyQt5 - 简介
- PyQt5 - 新特性
- PyQt5 - Hello World
- PyQt5 - 主要类
- PyQt5 - 使用 Qt Designer
- PyQt5 - 信号与槽
- PyQt5 - 布局管理
- PyQt5 - 基本部件
- PyQt5 - QDialog 类
- PyQt5 - QMessageBox
- PyQt5 - 多文档界面
- PyQt5 - 拖放
- PyQt5 - 数据库操作
- PyQt5 - 绘图 API
- PyQt5 - BrushStyle 常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 类
- PyQt5 有用资源
- PyQt5 - 快速指南
- PyQt5 - 有用资源
- PyQt5 - 讨论
PyQt5 - 布局管理
可以通过指定以像素为单位的绝对坐标,将 GUI 部件放置在容器窗口内。坐标相对于由 setGeometry() 方法定义的窗口尺寸。
setGeometry() 语法
QWidget.setGeometry(xpos, ypos, width, height)
在下面的代码片段中,尺寸为 300x200 像素的顶级窗口显示在显示器上的 (10, 10) 位置。
import sys
from PyQt4 import QtGui
def window():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
b = QtGui.QPushButton(w)
b.setText("Hello World!")
b.move(50,20)
w.setGeometry(10,10,300,200)
w.setWindowTitle(“PyQt”)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
一个 **PushButton** 部件被添加到窗口中,并放置在窗口左上角位置向右 50 像素,向下 20 像素的位置。
然而,这种绝对定位由于以下原因并不合适:-
即使调整窗口大小,部件的位置也不会改变。
在具有不同分辨率的不同显示设备上,外观可能不一致。
布局的修改比较困难,因为可能需要重新设计整个表单。
PyQt API 提供了布局类,用于更优雅地管理容器内部件的定位。与绝对定位相比,布局管理器具有以下优点:-
窗口内的部件会自动调整大小。
确保在具有不同分辨率的显示设备上外观一致。
可以动态添加或删除部件,而无需重新设计。
Qt 工具包定义了各种布局,可用于 Qt Designer 实用程序。
以下是我们将在此章节中逐一讨论的类列表。
| 序号 | 类与描述 |
|---|---|
| 1 | QBoxLayout
QBoxLayout 类垂直或水平地排列部件。它的派生类是 QVBoxLayout(用于垂直排列部件)和 QHBoxLayout(用于水平排列部件)。 |
| 2 | QGridLayout
GridLayout 类对象以网格的形式呈现,网格中的单元格按行和列排列。该类包含 addWidget() 方法。可以通过指定单元格的行数和列数来添加任何部件。 |
| 3 | QFormLayout
QFormLayout 是一种创建两列表单的便捷方法,其中每一行都包含一个与标签关联的输入字段。按照惯例,左列包含标签,右列包含输入字段。 |
广告