一、控件
使用Qt Designder来布局控件时,经常遇到的问题是如何调整控件的大小,下面介绍控件的几个对大小有影响的属性
1、sizeHint
这个属性所保存的 QSize 类型的值是一个被推荐给控件的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeHint 属性的值,而这个值由 sizeHint() 函数来确定。
注意:如果控件没有添加到布局管理器,sizeHint()返回的是无效值,只有控件被添加到布局管理器,这个属性才生效。
2、setSizePolicy
是设置控件在布局(layout)管理器里面的大小变化的属性,如果控件没有放到布局管理器,这个属性没有作用。常用的枚举值如下:
值 | 作用 |
---|---|
QSizePolicy::Fixed | 只能使用sizeHint() 推荐的值,无法伸缩 |
QSizePolicy::Minimum | sizeHint() 提供的值是最小的,控件可以被拉伸 |
QSizePolicy::Maximum | sizeHint() 提供的值是最大的,控件可以被压缩 |
QSizePolicy::Preferred | sizeHint() 提供的值是最佳大小,控件可以被压缩或拉伸 |
QSizePolicy::Expanding | sizeHint() 提供的值是最合适大小,控件可以被压缩,但是它更倾向于被拉伸来获取更多的空间 |
QSizePolicy::MinimumExpanding | sizeHint() 提供的大小是最小的,控件倾向于被拉伸来获取更多的空间 |
QSizePolicy::Ignored | sizeHint() 提供的值被忽略,控件将尽可能的被拉伸来获取更多的空间 |
在Qt Designer里面设置控件的sizePolicy属性,如下: