PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

在《PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性》中介绍layout的layoutSizeConstraint属性后,反复测试发现如下的应用窗口:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

再怎么设置布局控件的layoutSizeConstraint的值,所有部件都可以跟随无限放大,而最小可以缩小到如下:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

感觉这个参数不起作用,后经反复测试,发现这个参数只对窗口的布局起作用。在通过窗口中点击鼠标右键->Lay out选择布局方式来设置布局:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

设置后在窗口的属性设置部分会出现layout的属性,如图:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

此时在Designer中对该窗口的layout的layoutSizeConstraint属性进行设置就能达到对应的效果。经测试上述案例:

1、设置为QLayout.SetDefaultConstraint时,最大没有限制,当然是窗口本身没有设置尺寸策略的情况下。窗口最小如下:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

但当窗口设置有大小策略时,会受到大小策略的影响。

2、设置为QLayout.SetNoConstraint时,窗口可以无限放大和缩小;

3、设置为QLayout.SetMinimumSize时,与设置为QLayout.SetDefaultConstraint时效果相同,且似乎不受窗口大小策略的影响;

4、设置为QLayout.SetMaximumSize时,可以无限放大(应该是最大尺寸过大导致感觉不到),在窗口未设置大小策略时可以无限小,但当窗口设置有大小策略时,会受到大小策略的影响,如大小策略设置为minimumExpanding,且最小尺寸设置为200*400,则最小化时不能比这个更小。如图:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

5、设置为SetFixedSize时,窗口大小固定不变,且似乎不受大小策略影响。如图:

PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

6、设置为SetNoConstraint时,窗口大小可以随意调节,但受大小策略的影响。


PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

博客地址:https://blog.csdn.net/LaoYuanPython

老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036

上一篇:PyQt(Python+Qt)学习随笔:Qt Designer中窗口对象的windowFilePath属性


下一篇:Redis 6.0.8 紧急发布,请尽快升级!