QSizePolicy
1、QSizePolicy::PolicyFlag
常量 | 描述 |
---|---|
QSizePolicy::GrowFlag | 需要的时候可以将组件放大超出sizehint()的大小 |
QSizePolicy::ShrinkFlag | 需要的时候可以将组件缩小,小于sizehint()的大小 |
QSizePolicy::ExpandFlag | 组件尽可能的获取空间 |
QSizePolicy::IgnoreFlag | 组件无视sizehint()的大小 |
2、QSizePolicy::Policy
常量 | 值 | 描述 |
---|---|---|
QSizePolicy::Fixed | 0 | 组件大小只与sizehint()有关 |
QSizePolicy::Minimum | GrowFlag | sizehint()是它的最小尺寸,可以放大 |
QSizePolicy::Maximum | ShrinkFlag | sizehint()是它的最大尺寸,当不改变组件的结构时可以缩小 |
QSizePolicy::Preferred | GrowFlag | ShrinkFlag | 允许放大或者缩小,sizehint()是最佳效果 |
QSizePolicy::Expanding | GrowFlag | ShrinkFlag | ExpandFlag | 可以放大和缩小,会得到尽可能多的空间 |
QSizePolicy::MinimumExpanding | GrowFlag | ExpandFlag | 可以放大,会得到尽可能多的空间 |
QSizePolicy::Ignored | ShrinkFlag | GrowFlag | IgnoreFlag | sizehint()是最佳效果但不会受sizehint()的大小限制 |
带有ExpandFlag参数的,会尽可能的获取更多的空间
带有GrowFlag 参数的,可以获得更多的空间,但会优先使用sizehint()的大小
带有ShrinkFlag参数的,可以缩小,但不能破坏组件的结构,会优先使用sizehint()的大小
带有IgnoreFlag参数的,可以放大也可以缩小
有Expanding参数的组件会占用没Expanding参数的组件的空间
举例(这里只在演示两个按钮在水平布局时的水平策略)
左控件QSizePolicy | 右控件QSizePolicy | 图 |
---|---|---|
QSizePolicy::Expanding | QSizePolicy::Preferred | ![]() |
QSizePolicy::Preferred | QSizePolicy::Maximum | ![]() |
QSizePolicy::Expanding | QSizePolicy::Ignored | ![]() |
QSizePolicy::Maximum | QSizePolicy::Fixed | ![]() |