C++ qt根据布局设置小部件宽度';宽度

C++ qt根据布局设置小部件宽度';宽度,c++,qt,C++,Qt,我有三个QWidget、WidgetMain和widgetmools和WidgetCentral的实例WidgetMain具有BorderLayout,在中实现。现在,widgetMerchance位于版面的西侧,WidgetCentral设置在版面的中央侧。但是我希望widgetMerchance的宽度为WidgetCentral的1/4。我是否必须重新实现sizeHint()和minimumSizeHit(),还是应该使用qt大小策略来完成此任务?相同布局中的小部件大小由拉伸因子控制。您可以

我有三个
QWidget
WidgetMain
widgetmools
WidgetCentral
的实例
WidgetMain
具有
BorderLayout
,在中实现。现在,
widgetMerchance
位于版面的西侧,
WidgetCentral
设置在版面的中央侧。但是我希望
widgetMerchance
的宽度为
WidgetCentral
的1/4。我是否必须重新实现
sizeHint()
minimumSizeHit()
,还是应该使用qt大小策略来完成此任务?

相同布局中的小部件大小由拉伸因子控制。您可以调用布局的
setStretch
方法,也可以在设计器模式下直接设置这些因素:


上图显示了一个布局中3个小部件的示例,默认的
layoutStrech
0,0,0(其效果与1,1,1相同)。例如,您可以将其更改为1,4,1,因此最左侧的小部件将是第二个(中心)小部件宽度的1/4。使用水平布局时就是这种情况,其中拉伸系数决定宽度。否则,如果使用垂直布局,则拉伸系数表示高度比。

Tay2510,这是可以的,但在
Qt
version
5.4.1
中,我无法在文档中的任何位置找到方法
setStretch
。@MarkoFrelih在Qt 5文档中,继承的成员隐藏在链接中: