QSizePolicy
2018-10-08 本文已影响41人
downdemo
- 布局中QWidget的大小属性
virtual QSize sizeHint () const; // 如果控件在layout中则返回合适大小,否则返回无效值
virtual QSize minimumSizeHint () const; // 最小合适大小(没有最大合适大小)
- setSizePolicy设置控件的伸展策略
void QWidget::setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
Constant | Value | Description |
---|---|---|
QSizePolicy::Fixed | 0 | 只允许QWidget::sizeHint,控件不会伸缩(如pushbutton的垂直方向) |
QSizePolicy::Minimum | GrowFlag | sizeHint()是可允许的最小尺寸, 可以变大 (如pushbutton的水平方向) |
QSizePolicy::Maximum | ShrinkFlag | sizeHint()最大尺寸,如果没有其他需要空间的控件(如separator line),则此控件可任意伸缩 |
QSizePolicy::Preferred | GrowFlag | ShrinkFlag | sizeHint()是最佳选择,但控件仍能伸缩,这是QWidget的默认策略 |
QSizePolicy::Expanding | GrowFlag | ShrinkFlag | ExpandFlag | sizeHint()未被忽略,但控件尽可能扩张 |
QSizePolicy::MinimumExpanding | GrowFlag | ExpandFlag | sizeHint()是最小尺寸,但控件尽可能扩张 (如horizontal slider的水平方向) |
QSizePolicy::Ignored | ShrinkFlag | GrowFlag | IgnoreFlag | sizeHint()被忽略,控件尽可能扩张 |