Qt|Layout布局相关,sizePolicy

Qt|Layout布局相关,sizePolicy

                                                                enum  QSizePolicy::Policy

常量 描述
QSizePolicy::Fixed 0 QWidget::sizeHint()是唯一可接受的选择,因此小部件永远不能增长或收缩(例如,按钮的垂直方向)。
QSizePolicy::Minimum GrowFlag sizeHint()是最小的,也是充分的。部件可以扩展,但它变大没有任何好处(例如,按钮的水平方向)。它不能小于sizeHint()提供的大小。
QSizePolicy::Maximum ShrinkFlag sizeHint()是一个最大值。如果其他部件需要空间(例如分隔线),部件可以被任意收缩,而不会受到损害。它不能大于sizeHint()提供的大小。
QSizePolicy::Preferred GrowFlag|ShrinkFlag sizeHint()是最好的,但是部件可以缩小,q且仍然有用。部件可以展开,但是它比sizeHint()(默认的QWidget策略)大没有什么好处。
QSizePolicy::Expanding GrowFlag|ShrinkFlag|EXpandFlag sizeHint()是一个合理的大小,但是部件可以缩小,但仍然有用。部件会利用额外的空间以获得尽可能多的空间(例如,水平滑块的水平方向)。
QSizePolicy::MinimumExpanding GrowFlag|ExpandFlag sizeHint()是最小的,也是充分的。部件可以利用额外的空间,所以它会获得尽可能多的空间(例如,水平滑块的水平方向)。
QSizePolicy::Ignored ShrinkFlag|GrowFlag|IgoreFlag sizeHint()将被忽略。部件将获得尽可能多的空间。

 

sizeHint : const QSize

此属性保存部件的推荐大小
如果这个属性的值是无效的大小,则建议不设置大小。
如果这个部件没有布局,sizeHint()的默认实现将返回一个无效的大小,否则将返回布局的preferred size (最优大小)。

水平伸展:

当两个部件是相邻的水平布局,设置左边的部件的水平伸展因子为2,右边部件的水平伸展因子为1,左边的部件将永远是右边的两倍大。

垂直伸展:

当两个部件是相邻的垂直布局,设置上面的部件的垂直伸展因子为2,下面部件的垂直伸展因子为1,上面的部件将永远是下面的部件的大小的两倍。

上一篇:Android入门教程 | UI布局之LinearLayout 线性布局


下一篇:Android - 获取系统时间和网络时间,面试真题解析