QSizePolicy
QSize
virtual QSize sizeHint () const; // 如果控件在layout中则返回合适大小,否则返回无效值
virtual QSize minimumSizeHint () const; // 最小合适大小(没有最大合适大小)
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()被忽略,控件尽可能扩张 |
网友评论