python qgridlayout
时间: 2023-09-12 09:02:31 浏览: 87
QGridLayout 是 PyQt5 中的一个布局管理器,用于将控件按照网格排列。以下是一个简单的示例,展示如何在一个窗口中使用 QGridLayout 布局管理器:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
grid = QGridLayout()
self.setLayout(grid)
names = ['Cls', 'Bck', '', 'Close',
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'0', '.', '=', '+']
positions = [(i,j) for i in range(5) for j in range(4)]
for position, name in zip(positions, names):
if name == '':
continue
button = QPushButton(name)
grid.addWidget(button, *position)
self.move(300, 150)
self.setWindowTitle('Calculator')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个 QWidget 窗口,并将 QGridLayout 布局管理器设置为其主要布局。然后,我们使用 names 列表中的元素创建了 QPushButton 控件,并将其添加到网格中的正确位置。最后,我们使用 move() 和 setWindowTitle() 方法设置了窗口的位置和标题。
阅读全文