Qt:设置部件大小 sizeHint、minimumSizeHint、sizePolicy、stretch factor

- sizeHint:大小提示
sizeHint属性保存了部件的建议大小,对于不同的部件,默认拥有不同的sizeHint;同一部件的sizeHint也有可能不同,大小随着部件内容的变化而变化。
- minimumSizeHint:最小大小提示
minimumSizeHint保存了一个建议的最小大小提示,一般在布局中起作用。
- sizePolicy:大小策略
sizePolicy保存了部件的默认布局行为,在水平和垂直两个方向分别起作用,控制着部件在布局管理器中的大小变化行为。说明部件在布局管理中的缩放方式。取值有:

  • Fixed:固定的;部件无法伸缩,它的大小只能是sizeHint()的值。
  • Minimum:sizeHint()给部件设置一个最小值,部件最小不能小于这个值,但是部件可以被拉伸。
  • Maximum:sizeHint()给部件设置一个最大值,部件最大不能大于这个值,但是部件可以被压缩。
  • Preferred:优先的;sizeHint()提供给部件一个最佳大小,但是可以改变,可以拉伸或压缩。
  • Expanding:扩大的;sizeHint()提供给部件一个合适大小,部件可以被压缩,但是部件更倾向于被拉伸来获得更大的大小。
  • MinimumExpanding:sizeHint()提供给部件的大小是最小值,部件倾向于被拉伸来获得更大的大小。
  • Ignord:sizeHint()的值被忽略,部件将尽可能的被拉伸来获取更大的大小。

sizePolicy(大小策略)与sizeHint(大小提示)的值是有关系的。

举例:
在Qt Desiner中拖一个Spacer出来,设置Spacer的sizeHint的宽度为200,但是界面上的Spacer的宽度没有达到200。可以看到这时它的sizeType属性设置的是Expanding。

如果将它更改为Fixed,这样界面上的Spacer马上变宽了,现在它的实际高度才是sizeHint的高度。

 

- stretch factor:伸缩因子
stretch factor是用来设置部件间的比例的。图中widget_title是一个水平布局的QWidget,其中有四个部件:

所以在它的属性栏中的layoutStretch属性中就有四个数字,“0,0,0,0”

这四个数字代表了四个部件的宽度比例为1:1:1:1,我们可以修改部件之间的比例关系,选中比例值,将值改为:“2,1,1,1”,这时,第一个部件就是其他三个部件的2倍宽度。 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值