1. 程式人生 > >Qt 佈局設定stretch,不起作用解決方法

Qt 佈局設定stretch,不起作用解決方法

addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment())

insertStretch(int index, int stretch = 0)

setStretchFactor(QWidget *widget, int stretch)

等函式都可以設定佈局中,元件的不同伸縮大小。

QHboxLayout *layout= new QHboxLayout;
layout->addWidget(btn_one,1);
layout->addWidget(btn_two,2);

這是一個水平佈局,按鈕1和按鈕2應該佔據水平方向的大小,比例是1:2的寬度。

然而有的時候,設定伸縮大小並不一定按照,你的設定展示你想要的效果。這個時候,就可以檢視是否是控制元件的sizePolicy,阻礙了,可以修改響應的sizePolicy,實現想要的效果