pyqt5-布局

1、介绍

pyqt可以基于designer快速进行布局,所见即所得,不用关心代码。

2、绝对布局

通过组件的move和update等方法,可以设置组件的左上顶角在父组件的中的绝对位置,从而实现布局。

  • 在实际开发中,可以用于窗口的位置设置,但是一般不用于窗口内组件的管理
move(x, y)
# x表示水平方向,y表示垂直方向,一般均为正数

3、QHBoxLayout和QVBoxLayout

水平布局:多个组件水平方向上依次排列

垂直布局:多个组件垂直方向上依次排列

4、QGridLayout

网格布局

5、QFormLayout

表单布局。暂时没使用过。

6、QSplitter

这是一个在可QHBoxLayout和QVBoxLayout基础上,允许内部各组件拖动边框改变尺寸大小的组件。

在designer中使用时,选择要管理的多个组件,然后右键选择水平分裂或者垂直分裂。

setSizes(self, list: Iterable[int])
setSize([50,300])

能够定义各内部各组件的比列,如果是水平分裂那么就是宽度比列,如果是垂直分裂那么就是高度比列

7、Spacer

这是一个占位的组件。如果其与水平布局或垂直布局搭配,可以使按钮、文本框等占据一般的大小空间,而不会无限扩张填充

8、Line

这是一个间隔的组件。显示为一条水平的分割线或者垂直的分割线。

9、在窗体中布局

一般需要窗体中的组件作为一个整体,内部是垂直布局或垂直分裂布局,才能够完整的占据窗口。

否则如果是水平布局或水平分裂布局,那么在窗体中布局,只能是水平占据,但高度有限会留白,这时需要设置窗口高度为固定高度。

posted @ 2023-10-02 00:24  挖洞404  阅读(108)  评论(0编辑  收藏  举报