pyqt5 的layout详解
时间: 2023-10-04 13:13:49 浏览: 162
Python PyQt5简介
在 PyQt5 中,Layout(布局)是用于组织和管理控件的一种方式,可以自动调整控件的位置和大小,以适应窗口的大小和变化。
常用的 Layout 类型包括:
- QHBoxLayout:水平布局,将控件水平排列。
- QVBoxLayout:垂直布局,将控件垂直排列。
- QGridLayout:网格布局,将控件放置在一个二维的网格中。
- QFormLayout:表单布局,用于显示标签和输入框等表单元素。
使用 Layout 的步骤如下:
1. 创建一个 Layout 对象,如 QHBoxLayout、QVBoxLayout、QGridLayout 或 QFormLayout。
2. 向 Layout 中添加要管理的控件,使用 addWidget、addLayout、addStretch 等方法。
3. 将 Layout 应用到窗口或其他父控件中,使用 setLayout 方法。
下面是一个简单的例子,展示如何使用 QHBoxLayout 排列两个按钮:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton
app = QApplication(sys.argv)
window = QWidget()
# 创建水平布局
layout = QHBoxLayout()
# 创建两个按钮
btn1 = QPushButton('Button 1')
btn2 = QPushButton('Button 2')
# 将按钮添加到布局中
layout.addWidget(btn1)
layout.addWidget(btn2)
# 将布局应用到窗口中
window.setLayout(layout)
window.show()
sys.exit(app.exec_())
```
这个例子中,我们先创建了一个 QWidget 窗口对象,然后创建了一个 QHBoxLayout 对象并将两个按钮添加到布局中,最后将布局应用到窗口中。运行程序后,会显示两个按钮水平排列的窗口。
阅读全文