qt space margin layout stretch 空间

68 篇文章 11 订阅

使用qt为windows qt5.11 

先上图:


使用qtlayout 的时候,经常会碰到一些空余空间的问题。
margin 表示的是内部内容离容器四周边界的距离,只有四周,内部的控件之间的不算margin,上图中layout默认margin是9个像素。
可以看到widget默认的margin 是0,而layout有默认的margin 值四周都为9个像素。
layout内部的元素之间的间隔叫spacing。如上图的蓝色和黄色之间的红色空间,是该qhboxlayout 中间的分割的区域。 默认值是6。

void addWidget(QWidget *, int stretch = 0, Qt::Alignment alignment = Qt::Alignment());

上面的layout中的函数中的stretch参数是用于控制layout中显示的比例的,layout可以修改内部空间的大小。但是修改的范围为控件本身的minimumsize 和maximumsize 之间。如果发现伸缩主窗口后,内部的控件无法按预期再缩小,就需要考虑设置控件的minimumsize,反之修改maximumsize。

总结:

qt中的自主伸缩控件对空间的使用为,margin(bigger then default margin)+contentsize(between minimumsize and maximumsize) +spacing(bigger then default spacing)。在拉伸时,如果超过content minsize,就会按stretch去显示,如果超过contentmaxsize,就会增加margin和spacing。另外有的控件是fixedheight的,表示该控件最大的高度和最小高度都是这个值。

知道这些之后,再来看下效果。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值