核心提示:目前用得比较多的布局是 QGridLayout,它将界面划分为若干个网格,而控件可以按需要放到对应的格子,确保了控件的准确定位。m_layout-addWidget(m_calender,0,0); ...
目前用得比较多的布局是 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的比例发生改变。
并且,在不进行其他尺寸设置的时候(最大值最小值固定什么的),控件也会以这个比例显示在界面上。