contentsMargins属性是QMargins 类型(QMargins通过QMargins(int left, int top, int right, int bottom) 来创建),可以通过contentsMargins() 、setContentsMargins( QMargins )两个方法进行访问和设置。
Qt Designer的layoutSizeConstraint属性实际对应QLayout类的sizeConstraint属性,具体取值由枚举类型QLayout.SizeConstraint的元素取值来决定。
老猿针对官网公布的SizeConstraint属性相关取值及含义进行测试,发现验证结果和官网说明有些差异,相关情况如下:
关于验证情况,补充说明如下:
1、 以上验证情况验证的场景有限,都是限定最小和最大大小的情况下验证的,老猿不能确保所有场景下是否都正确;
2、 屏幕最大尺寸可以通过QtWidgets.qApp.desktop().width(), app.desktop().height()获取,可能有1个像素点的差异,具体原因未研究;
4、 layoutSizeConstraint取值为SetMinimumSize时,不论minimumSizeHint是否比minimumSize大还是小,窗口尺寸的最小值都是minimumSizeHint限定值。
垂直布局就是在布局内的所有子部件堆叠成一条垂直的直线自动排列,如果布局内的部件太多且在上层布局允许的情况下自动扩展布局的垂直高度,如果布局的高度不能扩展则压缩部件的高度。如果部件最大宽度没有限制或不小于布局的宽度,则部件的宽度自动扩展到整个布局允许的宽度(就是扣除留白空间的宽度)。
可以通过调整部件的拉伸因子来调整不同部件占用垂直空间的比例,缺省每个部件拉伸因子都是0,如果部件高度的大小策略及最小高度、最大高度、建议最小高度没有实际的影响,这时这些部件的高度实际上是等比例的,每个部件占用一样的高度。如果受其他影响,在受影响的部件高度确认后,其他部件等分剩余高度空间。
可以通过layoutSpacing调整部件的间距,通过layoutLeftMargin、layoutRightMargin、layoutTopMargin、layoutBottomMargin这4个属性来调整部件和布局四周的留白空间。
一般垂直排列的一类对象如垂直排列的单选按钮可以采用垂直布局。