PyQt5栅格布局
时间: 2023-06-29 20:02:50 浏览: 115
Pyqt5自适应布局实例
5星 · 资源好评率100%
PyQt5的栅格布局(QGridLayout)是一种方便的布局方式,可以将窗口分割成一个网格,然后将控件放置在各个单元格中。
下面是一个简单的示例代码,该代码将创建一个具有两个标签和两个按钮的窗口,并使用栅格布局将它们排列在窗口中:
```
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QGridLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建标签和按钮
label1 = QLabel('Label 1', self)
label2 = QLabel('Label 2', self)
button1 = QPushButton('Button 1', self)
button2 = QPushButton('Button 2', self)
# 创建栅格布局
grid = QGridLayout()
self.setLayout(grid)
# 将控件添加到栅格布局的单元格中
grid.addWidget(label1, 0, 0)
grid.addWidget(button1, 0, 1)
grid.addWidget(label2, 1, 0)
grid.addWidget(button2, 1, 1)
# 设置窗口的标题、大小和位置
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Grid Layout')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在上面的代码中,我们使用QLabel和QPushButton创建了两个标签和两个按钮。然后,我们使用QGridLayout创建了一个栅格布局,并将其设置为QWidget的布局。
最后,我们使用addWidget()方法将标签和按钮添加到栅格布局的单元格中。在这个例子中,我们将第一个标签放在第一行第一列,第一个按钮放在第一行第二列,第二个标签放在第二行第一列,第二个按钮放在第二行第二列。
运行这个程序,你将看到一个包含两个标签和两个按钮的窗口,它们按照栅格布局排列。
阅读全文