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,实现想要的效果