繁体   English   中英

有人可以解释 QT 中的尺寸提示、尺寸策略、尺寸限制吗?

[英]Can someone explain size hint, size policy, size constraint in QT?

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

大小提示是小部件的首选大小,布局将尝试使其尽可能接近此大小。

大小策略描述了当首选大小无法使用时大小如何改变(可以拉伸或收缩),请参阅QSizePolicy::Policy枚举以获取每个的描述。

尺寸约束是小部件可以是的最大尺寸和最小尺寸。

在我了解 Qt 的布局管理之前,它也让我很困惑。 根据其 文档

向布局添加小部件时,布局过程如下:

  1. 所有小部件最初将根据它们的 QWidget::sizePolicy() 和 QWidget::sizeHint() 分配一定数量的空间。

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

  3. 如果任何小部件的拉伸系数设置为零,它们只会在没有其他小部件需要空间的情况下获得更多空间。 其中,空间首先分配给具有扩展大小策略的小部件。

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

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

sizeHint()是QWidget的推荐大小,widget parent的Layout会考虑sizeHint()sizePolicy()来决定子widget可以容纳的空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM