Chinaunix首页 | 论坛 | 博客
  • 博客访问: 259792
  • 博文数量: 37
  • 博客积分: 1126
  • 博客等级: 少尉
  • 技术积分: 930
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 17:22
文章分类

全部博文(37)

文章存档

2014年(1)

2013年(11)

2012年(19)

2009年(6)

我的朋友

分类: C/C++

2012-06-26 16:35:31

目前用得比较多的布局是 QGridLayout,它将界面划分为若干个网格,

而控件可以按需要放到对应的格子,确保了控件的准确定位。

m_layout->addWidget(m_calender,0,0);   //calendar放在第一行第一列

m_layout->addWidget(m_tblList,0,1);   //table放在第一行第二列

但是我们还需要控件在窗体缩放的时候也按比例缩放,

这个时候就需要用到拉伸因子这个东东。拉伸因子决定了窗体尺寸发生改变时,控件发生改变的比例。

每个布局都有相应的拉伸因子设置函数。以下是QGridLayout里面的设置函数

void setColumnStretch ( int column, int stretch );

void setRowStretch ( int row, int stretch );

具体使用如下

m_layout->setColumnStretch(0,3);
m_layout->setColumnStretch(1,1);

这样在窗体反正改变的时候,m_calender与m_tblList会按3:1的比例发生改变。

并且,在不进行其他尺寸设置的时候(最大值最小值固定什么的),控件也会以这个比例显示在界面上。

阅读(5136) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~