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
version5.4.1
中,我无法在文档中的任何位置找到方法setStretch
。@MarkoFrelih在Qt 5文档中,继承的成员隐藏在链接中: