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)

我们就可以得到下面的窗口

垂直布局:  image    水平布局:  image

下面就是网格布局了

 

        # 网格布局
        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

网格布局:  image

剩下就那半个了,表单布局,其实就是网格布局的一种,完全可以被网格布局代替,就不详细介绍了

 

 

posted @ 2026-01-07 19:31  Berserker兰斯洛特  阅读(7)  评论(0)    收藏  举报