查看: 60|回复: 0

pyqt图形化显示—3.5.布局

[复制链接]

1

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-11-19
发表于 2026-1-7 19:31:00 | 显示全部楼层 |阅读模式

上一篇讲了一下布局 只涉及了一点点,布局就将设置好的控件排布在窗口上显示,一共有三个半布局方式,垂直布局和水平布局,网格布局,还有半个表单布局。由于人的阅读习惯我们一般是整体主布局采用垂直布局,单个小布局框架采用水平布局,当然直接使用网格布局也是可以的。

引入库

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

网格布局:  

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

 

 



来源:https://www.cnblogs.com/berserker-slst/p/19453704
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部