pyqt的setLayout
时间: 2024-05-27 14:03:30 浏览: 50
Pyqt5界面搭建基础控件
`setLayout()` 是 PyQt 中的一个函数,用于将布局管理器设置为 QWidget 的布局管理器。该函数需要一个布局管理器作为参数,并将该布局管理器设置为该 QWidget 的布局管理器。布局管理器是用于控制 QWidget 子控件在父控件中的位置和大小的对象。
例如,我们可以使用 `QVBoxLayout` 和 `QHBoxLayout` 布局管理器来实现垂直和水平布局。以下是一个简单的示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
hbox = QHBoxLayout()
btn1 = QPushButton('Button 1', self)
hbox.addWidget(btn1)
btn2 = QPushButton('Button 2', self)
hbox.addWidget(btn2)
vbox.addLayout(hbox)
self.setLayout(vbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('Set Layout')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在上面的代码中,我们首先创建一个 `QVBoxLayout` 对象 `vbox`,然后创建一个 `QHBoxLayout` 对象 `hbox`,并添加两个按钮到水平布局中。我们使用 `addLayout()` 将水平布局添加到垂直布局中,最后使用 `setLayout()` 将垂直布局设置为该 QWidget 的布局管理器。最终的结果是两个按钮位于 QWidget 的中央。
阅读全文