Pyqt5相关文章:
快速掌握Pyqt5的三种主窗口
快速掌握Pyqt5的2种弹簧
快速掌握Pyqt5的5种布局
快速弄懂Pyqt5的5种项目视图(Item View)
快速弄懂Pyqt5的4种项目部件(Item Widget)
快速掌握Pyqt5的6种按钮
快速掌握Pyqt5的10种容器(Containers)
快速掌握Pyqt5的20种输入控件(Input Widgets)
快速掌握Pyqt5的9种显示控件
详细学习Pyqt5中的5种布局方式
详细学习Pyqt5中的6种按钮
详细学习Pyqt5中的2种弹簧
详细学习Pyqt5的5种项目视图(Item View)
详细学习Pyqt5的4种项目部件(Item Widget)
待续。。。
在PyQt5中,布局管理器是用来控制窗口中控件(widgets)的位置和大小的。使用布局管理器而不是手动定位控件可以让界面自动适应不同的窗口大小和显示设置。PyQt5提供了多种布局管理器来满足不同的布局需求。
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()
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()
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()
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()
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()
可以通过继承 QLayout
类来创建自定义布局管理器,为特定的布局需求提供解决方案。
正确使用布局管理器是创建专业和易用GUI的关键。布局管理器的选择取决于你的具体需求和期望的界面布局。