PyQt:创建自适应大小的窗口(保姆级采坑经验)

文章目录

目的:将之前做的没有 layout布局的主窗口变为自适应的窗口。
耗费了不少时间,现直接上步骤:

1、新建窗口(我这里使用的Widget
2、拖动水平布局到界面(数量随意)
3、拖动你想使用的多个部件到布局框内部(会自动位移)

PyQt:创建自适应大小的窗口(保姆级采坑经验)_第1张图片
4、往需要调整水平相对位置大小的布局内添加”水平弹簧“(Horizonal Spacer

我这里在两头添加了两,你也可以再中间再添加一个,用处是设置部件与部件以及部件与窗体之间的相对间隔(具体设置看后面)
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第2张图片

5、设置完部件的布局之后,还需要将部件与窗体关联:空白处右键,选择栅格布局(你也可以选择下一个选项试一试)

PyQt:创建自适应大小的窗口(保姆级采坑经验)_第3张图片

达到的效果如下:基本已经帮我们分配好各个部分的位置了。
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第4张图片

6、挨个修改这三个布局(两个水平布局一个格栅布局)的拉伸参数(layoutStrech)

修改水平布局:

PyQt:创建自适应大小的窗口(保姆级采坑经验)_第5张图片

修改格栅布局:

注意格栅布局可是设置layoutRowStrech(纵向)和layoutColumnStrech(横向)的相对位置。
(其中的数字分别是各个部分的占比)
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第6张图片

我这里只设置了纵向的比例要求:
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第7张图片

关于如何理解上面写的“横向”和“”纵向:
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第8张图片

7、修改窗体和部件的最大和最小值

请注意分别修改Form 和各个部件(特别注意 Qlabel 等有输出的部件)的最大大小MaximumSize),否则实际运行会出现因为Qlabel 内容变化将窗口拉变形的情况。

PyQt:创建自适应大小的窗口(保姆级采坑经验)_第9张图片

(有需要也可以设置一下最小大小,设置完成之后,预览一下,然后自己手动拉伸看一下)

最小:
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第10张图片
最大:
PyQt:创建自适应大小的窗口(保姆级采坑经验)_第11张图片
如果后续你遇到了窗口打开不完整或者显示类似QLayout: Attempting to add QLayout ““ to MyDesiger “Form“, which already has a layout的问题,可以看我的另一篇文章:

PyQt报错:界面显示不全,QLayout: Attempting to add QLayout ““ to MyDesiger “Form“, which already has a layout

最后,欢迎大家点赞、留言,一起交流进步!

参考:

PyQt5系列教程(6):布局

你可能感兴趣的:(#,Python,#,Python,项目,python,pyqt5)