pyqt图形化显示—3.5.布局
上一篇讲了一下布局 只涉及了一点点,布局就将设置好的控件排布在窗口上显示,一共有三个半布局方式,垂直布局和水平布局,网格布局,还有半个表单布局。由于人的阅读习惯我们一般是整体主布局采用垂直布局,单个小布局框架采用水平布局,当然直接使用网格布局也是可以的。
引入库
from PySide6.QtWidgets import QVBoxLayout, QHBoxLayout, QGridLayout, QFormLayout
QVBoxLayout——垂直布局;QHBoxLayout——水平布局,QGridLayout——网格布局,QFormLayout——表单布局
应用
使用也很简单,垂直和水平是很类似的下面只举一个例子
# 垂直布局 layout = QVBoxLayout() #水平布局只需要更改这个函数就可以了 layout.addWidget(QPushButton('按钮1')) layout.addWidget(QPushButton('按钮2')) layout.addWidget(QPushButton('按钮3')) self.setLayout(layout)
我们就可以得到下面的窗口
垂直布局:
水平布局: 
下面就是网格布局了
# 网格布局 layout = QGridLayout() layout.addWidget(QPushButton('按钮1'), 0, 0) layout.addWidget(QPushButton('按钮2'), 0, 1) layout.addWidget(QPushButton('按钮3'), 1, 0) layout.addWidget(QPushButton('按钮4'), 1, 1) layout.addWidget(QPushButton('按钮5'), 2, 0, 1, 2) self.setLayout(layout)
需要注意的是网格布局的addWidget 可以使用五个参数,(添加控件,控件起始行,控件起始列,控件行高,控件列宽)
其中行列坐标起始为(0,0),行高和列宽不设置则默认为1,1
网格布局: 
剩下就那半个了,表单布局,其实就是网格布局的一种,完全可以被网格布局代替,就不详细介绍了

浙公网安备 33010602011771号