QSizePolicy类在 Qt 框架中扮演着至关重要的角色,尤其是在布局管理方面。它定义了一个窗口部件(QWidget)在水平和垂直方向上的尺寸策略,从而影响部件如何响应布局变化和窗口重尺寸事件。
enum Policy {
Fixed = 0,
Minimum = GrowFlag,
Maximum = ShrinkFlag,
Preferred = GrowFlag | ShrinkFlag,
MinimumExpanding = GrowFlag | ExpandFlag,
Expanding = GrowFlag | ShrinkFlag | ExpandFlag,
Ignored = ShrinkFlag | GrowFlag | IgnoreFlag
};
QSizePolicy
提供了以下几种尺寸策略:
- Fixed:部件的大小是固定的,不会随布局变化而改变。这适用于不需要改变大小的部件,如图标或静态文本。此时通过
QWidget::
setFixedSize(fixedWidth, fixedHeight); - Minimum:部件至少应为指定的大小,但可以更大。
- Maximum:部件至多为指定的大小,但可以更小。
- Preferred:部件的首选大小。