qt QGridLayout網格佈局addWidget函式與拉伸因子
阿新 • • 發佈:2019-02-02
目前用得比較多的佈局是 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的比例發生改變。
並且,在不進行其他尺寸設定的時候(最大值最小值固定什麼的),控制元件也會以這個比例顯示在介面上。
轉載自http://blog.chinaunix.net/uid-693168-id-3254823.html