关于Qt控件布局的使用总结

1.空白(margin)和间距(spacing)margin)和间距(spacing)。

空白指的是整个布局四周距离窗体边缘的距离;

间距指的是布局管理器内部各个窗口部件之间的距离。

空白属性即margin(),间距属性即spacing(),它们的默认值是有窗体的风格决定的。Qt 的默认风格下,子窗体部件的margin()的值是9 英寸。spacing()的值与margin()相同。

void QLayout::setContentsMargins ( int left, int top, int right, int bottom )

其中,left, top, right, 和bottom 表示环绕在布局周围的空白。对于QGridLayout 和QFormLayout,不要使用setSpacing()方法,而是要分别使用setHorizontalSpacing()和setVerticalSpacing()方法来设置水平和垂直方向。

2.大小约束(size constraint)

获取和设置该属性值可以通过QWidget::layout()来获取主窗口部件的布局管理器,然后可以调用QLayout::sizeConstraint()函数来查看当前的设置情况,然后再通过QLayout::setSizeConstraint()函数来设置该布局管理器的sizeConstraint 属性。它的默认值是QLayout::SetDefaultConstraint。这两种函数的原型如下:SizeConstraint sizeConstraint () const,void setSizeConstraint ( SizeConstraint )。其中,SizeConstraint 的取值可以在QLayout类的枚举中得到;
QLayout::SetDefaultConstraint
QLayout::SetFixedSize
QLayout::SetMinimumSize
QLayout::SetMaximumSize

QLayout::SetMinAndMaxSize

3.大小策略(size policy)

一个QSizePolicy 既包含一个水平分量也包含一个垂直分量。可以通过QSizePolicy 找到对应的枚举值。

4.伸缩因子(stretch factor)

除了大小策略中包含的水平方向和垂直方向两个分量之外, QSizePolicy 类还保存了水平方向和垂直方向的一个伸缩因子。这些伸缩因子可以用来说明在增大窗体时,对不同的子窗口部件应使用的不同放大比例。即需要设置QSizePolicy::horizontalStretch 和QSizePolicy::verticalStretch 的值来实现。默认情况下,被布局管理器组合在一起的窗口部件的伸缩因子是相等的,都为0。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值