python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Pyqt5 布局

Pyqt5中5种布局的实现示例

作者:CClaris

本文介绍PyQt5中五种核心布局管理器的使用方法,包括水平布局、垂直布局、网格布局、表单布局及堆叠布局,下面就一起来了解一下,感兴趣的可以了解一下

在PyQt5中,布局管理器是用来控制窗口中控件(widgets)的位置和大小的。使用布局管理器而不是手动定位控件可以让界面自动适应不同的窗口大小和显示设置。PyQt5提供了多种布局管理器来满足不同的布局需求。

1. 水平布局(QHBoxLayout)

QHBoxLayout 排列控件在水平方向上。控件按添加的顺序从左到右排列。

from PyQt5.QtWidgets import QWidget, QHBoxLayout, QPushButton

widget = QWidget()
hbox = QHBoxLayout()

hbox.addWidget(QPushButton('Button 1'))
hbox.addWidget(QPushButton('Button 2'))
hbox.addWidget(QPushButton('Button 3'))

widget.setLayout(hbox)
widget.show()

2. 垂直布局(QVBoxLayout)

QVBoxLayout 在垂直方向上排列控件。控件按添加的顺序从上到下排列。

from PyQt5.QtWidgets import QWidget, QVBoxLayout, QPushButton

widget = QWidget()
vbox = QVBoxLayout()

vbox.addWidget(QPushButton('Button 1'))
vbox.addWidget(QPushButton('Button 2'))
vbox.addWidget(QPushButton('Button 3'))

widget.setLayout(vbox)
widget.show()

3. 网格布局(QGridLayout)

QGridLayout 允许你以网格方式排列控件。你可以指定控件的行和列。

from PyQt5.QtWidgets import QWidget, QGridLayout, QPushButton

widget = QWidget()
grid = QGridLayout()

grid.addWidget(QPushButton('Button 1'), 0, 0)
grid.addWidget(QPushButton('Button 2'), 0, 1)
grid.addWidget(QPushButton('Button 3'), 1, 0)
grid.addWidget(QPushButton('Button 4'), 1, 1)

widget.setLayout(grid)
widget.show()

4. 表单布局(QFormLayout)

QFormLayout 是为表单设计的,它以两列方式排列控件:左列是标签,右列是对应的字段(如文本框)。

from PyQt5.QtWidgets import QWidget, QFormLayout, QLineEdit, QLabel

widget = QWidget()
form = QFormLayout()

form.addRow(QLabel('Name:'), QLineEdit())
form.addRow(QLabel('Age:'), QLineEdit())
form.addRow(QLabel('Job:'), QLineEdit())

widget.setLayout(form)
widget.show()

5. 堆叠布局(QStackedLayout)

QStackedLayout 允许你堆叠多个控件在同一个位置,然后选择一个控件进行显示。

from PyQt5.QtWidgets import QWidget, QStackedLayout, QPushButton

widget = QWidget()
stack = QStackedLayout()

stack.addWidget(QPushButton('Button 1'))
stack.addWidget(QPushButton('Button 2'))
stack.addWidget(QPushButton('Button 3'))

# 设置当前显示的控件索引
stack.setCurrentIndex(1)

widget.setLayout(stack)
widget.show()

6. 自定义布局

可以通过继承 QLayout 类来创建自定义布局管理器,为特定的布局需求提供解决方案。

使用布局管理器的优点

正确使用布局管理器是创建专业和易用GUI的关键。布局管理器的选择取决于你的具体需求和期望的界面布局。

到此这篇关于Pyqt5中5种布局的实现示例的文章就介绍到这了,更多相关Pyqt5 布局内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文