pyqt5布局管理
时间: 2023-06-28 07:11:49 浏览: 102
PyQt5的相对布局管理的实现
PyQt5提供了多种布局管理器,以便更轻松地创建GUI应用程序。以下是几个常用的布局管理器:
1. QVBoxLayout(垂直布局)
将控件在垂直方向上排列。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
layout.addWidget(QPushButton('Button 1'))
layout.addWidget(QPushButton('Button 2'))
layout.addWidget(QPushButton('Button 3'))
window.setLayout(layout)
window.show()
app.exec_()
```
2. QHBoxLayout(水平布局)
将控件在水平方向上排列。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton
app = QApplication([])
window = QWidget()
layout = QHBoxLayout()
layout.addWidget(QPushButton('Button 1'))
layout.addWidget(QPushButton('Button 2'))
layout.addWidget(QPushButton('Button 3'))
window.setLayout(layout)
window.show()
app.exec_()
```
3. QGridLayout(网格布局)
将控件排列在网格中。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QPushButton
app = QApplication([])
window = QWidget()
layout = QGridLayout()
layout.addWidget(QPushButton('Button 1'), 0, 0)
layout.addWidget(QPushButton('Button 2'), 0, 1)
layout.addWidget(QPushButton('Button 3'), 1, 0)
layout.addWidget(QPushButton('Button 4'), 1, 1)
window.setLayout(layout)
window.show()
app.exec_()
```
4. QFormLayout(表单布局)
将标签和输入控件排列在一起,以形成表单。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QFormLayout, QLineEdit, QLabel
app = QApplication([])
window = QWidget()
layout = QFormLayout()
layout.addRow(QLabel('Name:'), QLineEdit())
layout.addRow(QLabel('Age:'), QLineEdit())
layout.addRow(QLabel('Email:'), QLineEdit())
window.setLayout(layout)
window.show()
app.exec_()
```
以上是一些常用的布局管理器,你也可以自己实现并自定义布局管理器。
阅读全文