[英]Qt/Qml: Custom widget — cannot set “width” property as it is readonly
[英]qt set widget width according to layout'width
我有QWidget
, WidgetMain
和WidgetMerchandise
和WidgetCentral
三個實例。 WidgetMain
具有BorderLayout
,在Border Layout Example中實現 。 現在, WidgetMerchandise
位於布局的西側, WidgetCentral
位於布局的中央。但是我希望WidgetMerchandise
寬度為WidgetCentral
1/4寬度。 我必須重新實現sizeHint()
和minimumSizeHit()
還是應該使用qt大小策略來完成此任務?
相同布局中的小部件大小由拉伸因子控制。 您可以調用布局的setStretch
方法,也可以在設計器模式下直接設置以下因素:
上圖顯示了在一個布局中3個小部件的示例,默認的layoutStrech
是0,0,0 (與1,1,1具有相同的效果)。 例如,您可以將其更改為1,4,1 ,因此最左側的小部件將是第二個(中央)小部件的1/4寬度。 當使用水平布局時,情況就是這樣,其中拉伸因子確定寬度。 否則,如果使用垂直布局,則拉伸因子表示高度比。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.