PyQt(Python+Qt)学习随笔:部件拉伸策略sizePolicy优先级

部件的尺寸调整策略或拉伸策略sizePolicy有7个值,如果同一个布局中的不同部件设置了不同的拉伸策略策略,在整个布局空间拉伸时,它们会怎么进行拉伸处理呢?

在未设置拉伸因子的情况下,Qt中这些拉伸策略是有优先级的,经老猿验证其优先级从高到低排列如下:
1、 Expanding , MinimumExpanding 优先级第1;
2、QSizePolicy.Preferred 、QSizePolicy.Ignored、QSizePolicy.Minimum第2;
3、QSizePolicy.Fixed不拉伸第3;
4、QSizePolicy.Maximum第4。

其实在拉伸时QSizePolicy.Fixed和QSizePolicy.Maximum优先级相同,都不拉伸,但缩小时Fixed不变,因此将其分了个优先级高低。

在没有设置拉伸因子的情况下,如果两个不同优先级拉伸策略的部件在一个布局中, 优先级高的就会拉伸,优先级低的就不拉伸。如果是相同优先级的,则会同比例拉伸。

如果设置了拉伸因子,则应该按拉伸因子的比例进行拉伸,优先级则失去作用。.

同理, 如果两个控件水平大小策略一个为Expanding, 一个是MinimumExpanding, 这时拉伸窗体, 则两个控件均会拉伸.


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

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

原文地址:https://www.cnblogs.com/LaoYuanPython/p/11931630.html