PyQt5 QBoxLayout 类
QBoxLayout 类将小部件垂直或水平排列。其派生类有 QVBoxLayout (用于垂直排列小部件)和 QHBoxLayout (用于水平排列小部件)。以下表格显示了 QBoxLayout 类的重要方法−
序号 | 方法和描述 |
---|---|
1 | addWidget() 将小部件添加到BoxLayout中 |
2 | addStretch() 创建一个空的可扩展的盒子 |
3 | addLayout() 添加另一个嵌套布局 |
示例
在垂直盒式布局中添加了两个按钮。使用 addStretch() 方法在它们之间添加了一个可拉伸的空白空间。因此,如果顶级窗口被调整大小,按钮的位置会自动重新定位。
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * def window(): app = QApplication(sys.argv) win = QWidget() b1 = QPushButton("Button1") b2 = QPushButton("Button2") vbox = QVBoxLayout() vbox.addWidget(b1) vbox.addStretch() vbox.addWidget(b2) win.setLayout(vbox) win.setWindowTitle("PyQt") win.show() sys.exit(app.exec_()) if __name__ == '__main__': window()
输出
上述代码产生以下输出 −
示例
该示例使用水平盒式布局。 addStretch() 方法在两个按钮对象之间插入了一个可伸缩的空白间隔。因此,当窗口大小调整时,按钮的大小和位置会动态变化。
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * def window(): app = QApplication(sys.argv) win = QWidget() b1 = QPushButton("Button1") b2 = QPushButton("Button2") hbox = QHBoxLayout() hbox.addWidget(b1) hbox.addStretch() hbox.addWidget(b2) win.setLayout(hbox) win.setWindowTitle("PyQt") win.show() sys.exit(app.exec_()) if __name__ == '__main__': window()
输出
上述代码产生以下输出 –
示例
此示例演示了布局如何嵌套。这里,两个按钮被添加到垂直盒布局中。然后,一个水平盒布局对象被添加到其中,包括两个按钮和一个可伸缩的空白空间。最后,垂直盒布局对象通过setLayout()方法应用于顶级窗口。
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * def window(): app = QApplication(sys.argv) win = QWidget() b1 = QPushButton("Button1") b2 = QPushButton("Button2") vbox = QVBoxLayout() vbox.addWidget(b1) vbox.addStretch() vbox.addWidget(b2) hbox = QHBoxLayout() b3 = QPushButton("Button3") b4 = QPushButton("Button4") hbox.addWidget(b3) hbox.addStretch() hbox.addWidget(b4) vbox.addStretch() vbox.addLayout(hbox) win.setLayout(vbox) win.setWindowTitle("PyQt") win.show() sys.exit(app.exec_()) if __name__ == '__main__': window()
输出
上述代码产生以下输出结果 –
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com