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

文章目录

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

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

在这里插入图片描述
4、往需要调整水平相对位置大小的布局内添加”水平弹簧“(Horizonal Spacer

我这里在两头添加了两,你也可以再中间再添加一个,用处是设置部件与部件以及部件与窗体之间的相对间隔(具体设置看后面)
在这里插入图片描述

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

在这里插入图片描述

达到的效果如下:基本已经帮我们分配好各个部分的位置了。
在这里插入图片描述

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

修改水平布局:

在这里插入图片描述

修改格栅布局:

注意格栅布局可是设置layoutRowStrech(纵向)和layoutColumnStrech(横向)的相对位置。
(其中的数字分别是各个部分的占比)
在这里插入图片描述

我这里只设置了纵向的比例要求:
删除线格式

关于如何理解上面写的“横向”和“”纵向:
在这里插入图片描述

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

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

在这里插入图片描述

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

最小:
在这里插入图片描述
最大:
在这里插入图片描述
如果后续你遇到了窗口打开不完整或者显示类似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):布局

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值