setGeometry() 语法
QWidget.setGeometry(xpos, ypos, width, height)
在以下代码片段中,尺寸为 300 x 200 像素的顶级窗口显示在监视器上的位置 (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 是一种创建两列表单的便捷方式,其中每一行包含一个与标签关联的输入字段。按照惯例,左列包含标签,右列包含输入字段。
|