Pyqt5创建垂直布局
时间: 2024-09-27 07:05:28 浏览: 49
PyQt5的相对布局管理的实现
在PyQt5中,创建垂直布局可以让你的窗口元素按照从上到下的顺序排列。这里有两个示例:
1. **静态布局**[^1]:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton
app = QApplication([])
window = QWidget()
layout = QVBoxLayout() # 创建一个垂直布局
layout.addWidget(QPushButton('Button Top')) # 添加顶部按钮
layout.addWidget(QPushButton('Button Middle')) # 添加中间按钮
layout.addWidget(QPushButton('Button Bottom')) # 添加底部按钮
window.setLayout(layout) # 设置窗口布局为垂直布局
window.show()
app.exec_()
```
2. **动态添加控件**:
这里展示了如何动态地向垂直布局中添加按钮。当你点击"Add Button"时,会增加一个新的按钮。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton
def add_button():
layout.addWidget(QPushButton(f'Button {layout.count() + 1}')) # 按钮数量递增
app = QApplication([])
window = QWidget()
layout = QVBoxLayout(window)
addBtn = QPushButton('Add Button')
addBtn.clicked.connect(add_button) # 当按钮被点击时调用add_button函数
layout.addWidget(addBtn)
window.show()
app.exec_()
```
通过这两个示例,你可以看到如何使用`QVBoxLayout`来创建和管理垂直布局,无论是预先定义还是动态扩展。
阅读全文