Qt SizePolicy 属性(每个控件都有一个合理的缺省sizePolicy。QWidget.size()默认返回值是(640, 480),QWidget.sizeHint()默认返回值是(-1, -1))

控件的sizePolicy说明控件在布局管理中的缩放方式。Qt提供的控件都有一个合理的缺省sizePolicy,但是这个缺省值有时不能适合 所有的布局,开发人员经常需要改变窗体上的某些控件的sizePolicy。一个QSizePolicy的所有变量对水平方向和垂直方向都适用。下面列举 了一些最长用的值:

A. Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。

B. Minimum:控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。

C. Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。

D. Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者缩小

E. Expandint:控件可以自行增大或者缩小

注:sizeHint(布局管理中的控件默认尺寸,如果控件不在布局管理中就为无效的值)

QWidget w;
w.show();
qDebug() << w.size(); // 输出 QSize(640, 480)
qDebug() << w.sizeHint(); // 输出 QSize(-1, -1)

比如我们想制作如下的一个窗口,里面有三个控件,上面左右两边各一个群组控件,下面一个Tab控件,我们想放大窗口时,这三个控件也跟着拉伸,而且上面两个群组控件拉伸的幅度要大于下面的Tab控件,这时候我们就可以利用Minimum这个功能,控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。我们将Tab控件的vertical policy设置为Minimum,然后设置minimumSize如下所示,这样全屏后,各个控件的拉伸幅度就不同了。

 

 

http://www.cnblogs.com/grandyang/p/4521295.html
posted @ 2015-12-18 21:19  findumars  Views(840)  Comments(0Edit  收藏  举报