有人可以在QT中解释大小提示,大小政策,大小限制吗?

时间:2013-12-02 12:03:00

标签: qt size constraints hint

任何人都可以清楚地解释这三个概念吗?有什么区别以及如何使用它们?

2 个答案:

答案 0 :(得分:13)

size hint是窗口小部件的首选大小,布局会尽量使它尽可能接近。

尺寸政策描述了当无法使用首选尺寸时(如果拉伸或缩小)尺寸可能会如何变化,请参阅QSizePolicy::Policy枚举以获取每种尺寸的描述。

大小约束是小部件可以的maximumSize和minimumSize。

答案 1 :(得分:0)

在我了解Qt的布局管理之前,这也使我很困惑。根据其docs

将小部件添加到布局中时,布局过程如下:

  1. 所有小部件将首先根据其QWidget :: sizePolicy()和QWidget :: sizeHint()分配一定的空间。

  2. 如果任何一个小部件都设置了拉伸因子,并且其值大于零,那么它们将按照与拉伸因子成比例的方式分配空间(如下所述)。

  3. 如果任何窗口小部件的拉伸因子设置为零,则只有在没有其他窗口小部件需要该空间的情况下,它们才会获得更多空间。其中,首先使用扩展尺寸策略将空间分配给小部件。

  4. 任何分配的空间少于其最小大小的窗口小部件(如果未指定最小大小,则分配最小大小的提示)将分配给它们所需的最小大小。 (小部件不必具有最小尺寸或最小尺寸提示,在这种情况下,拉伸因子是其决定因素。)

  5. 任何分配了超过其最大大小的空间的小部件都会被分配它们所需的最大大小的空间。 (小部件不必具有最大尺寸,在这种情况下,拉伸因子是其决定因素。)

并且sizeHint()是QWidget的建议大小,并且父级小部件的Layout将考虑sizeHint()sizePolicy()以确定孩子的空间小部件可以容纳。