QT页面布局sizepolicy占用空间优先级&盒子模型

如果按占用空间的优势排序的话,应该是这样:MinimumExpanding=Expanding>Preferred=Minimum=Ignored>Maximum=Fixed

控件的大小不再与sizeHint相关,可以尽情的拉伸,也可以缩小比sizeHint建议的小,毕竟忽略了;
如果布局管理器中只有一个控件被设置这些策略时,后四个基本没什么区别,除了缩小方面最后一个可以小于sizeHint(),放大方面都是尽可能的拉伸;而如果布局管理器中放置了两个控件,以垂直方向为例,不同的策略会影响控件占用的空间优势,比如控件1设置为Preferred,控件2设置为Expanding,此时2会占用更可能多的空间,而1只能缩小到最小(sizeHint的大小);如果1为MinimumExpanding,2不变,两者占用比例相同;如果1为Ignored,2不变,控件1直接看不到了

在这里插入图片描述

 若部件的拉伸因子大于0,则按照拉伸因子的比例分配空间;若拉伸因子为0,则只有在其他部件不需要空间时才会获得空间;也就是说若一些部件拉伸因子大于0,而一些部件拉伸因子为0,则只有拉伸因子大于0的部件会被拉伸,而拉伸因子为0的部件不会被拉伸。
若所有部件的拉伸因子都为0,则按照大小策略的规则对部件进行拉伸。
注意:若部件的大小策略为Fixed,则即使设置了拉伸因子,该部件也不会被拉伸。
以上规则可总结为,拉伸因子会使大小策略不起作用或失效(除了Fixed策略外)
除QSizePolicy::Ignored外,任何部件,都不能压缩得比最小大小更小(若未设置最小大小,则为最小大小提示),任何部件都不能拉伸得比最大大小更大。

参考:https://blog.csdn.net/hyongilfmmm/article/details/83015729

盒子模型由外到内,margin -> border -> padding -> content
在这里插入图片描述

margin代表一个控件的边框到另一个控件的边框的距离,属于容器外部距离。

padding代表自身边框到自身内部另一个容器边框之间的距离,属于容器内距离。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值