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、在窗体中布局
一般需要窗体中的组件作为一个整体,内部是垂直布局或垂直分裂布局,才能够完整的占据窗口。
否则如果是水平布局或水平分裂布局,那么在窗体中布局,只能是水平占据,但高度有限会留白,这时需要设置窗口高度为固定高度。