
- PyQt 教程
- PyQt - 首页
- PyQt - 简介
- PyQt - 环境配置
- PyQt - Hello World
- PyQt - 主要类
- PyQt - 使用 Qt Designer
- PyQt - 元对象
- PyQt 信号与槽
- PyQt - 信号和槽
- PyQt - 支持和信号
- PyQt - 未绑定和已绑定信号
- PyQt - 使用 PyQtSignal 创建新的信号
- PyQt - 连接、断开和发射信号
- PyQt - 槽装饰器
- PyQt - 槽连接
- PyQt 布局
- PyQt - 布局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控件
- PyQt - 基本控件
- PyQt - QLabel 控件
- PyQt - QLineEdit 控件
- PyQt - QPushButton 控件
- PyQt - QRadioButton 控件
- PyQt - QCheckBox 控件
- PyQt - QComboBox 控件
- PyQt - QSpinBox 控件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控件
- PyQt - QFontComboBox 控件
- PyQt - QDoubleSpinBox 控件
- PyQt - QToolBox 控件
- PyQt - QDialog 类
- PyQt - QMessageBox
- PyQt - 多文档界面
- PyQt - 拖放操作
- PyQt 绘图 API
- PyQt - 绘图 API
- PyQt 数据库
- PyQt - 数据库处理
- PyQt 核心知识
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 类
- PyQt 有用资源
- PyQt - 快速指南
- PyQt - 有用资源
- PyQt - 讨论
PyQt - 布局管理
可以通过指定以像素为单位测量的绝对坐标,将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 提供了布局类,用于更优雅地管理容器内小部件的位置。与绝对定位相比,布局管理器的优点是:
窗口内的小部件会自动调整大小。
确保在具有不同分辨率的显示设备上外观统一。
可以动态添加或删除小部件,而无需重新设计。
以下是我们将在本章中逐一讨论的类列表。
序号 | 类和描述 |
---|---|
1 | QBoxLayout
QBoxLayout 类垂直或水平排列小部件。其派生类是 QVBoxLayout(用于垂直排列小部件)和 QHBoxLayout(用于水平排列小部件)。 |
2 | QGridLayout
GridLayout 类对象以行和列排列的单元格网格形式呈现。该类包含 addWidget() 方法。可以通过指定单元格的行数和列数来添加任何小部件。 |
3 | QFormLayout
QFormLayout 是一种创建两列表单的便捷方式,其中每一行都包含一个与标签关联的输入字段。按照惯例,左列包含标签,右列包含输入字段。 |
广告