Qt 布局比应有的大

问题描述 投票:0回答:1

我有一个在 Qt 中设计得很好的布局,但是当我单击父窗口并将其设置为网格布局时,事情变得很奇怪:

enter image description here

如您所见,左侧的垂直布局坚持比它包含的子元素更宽。标签和树视图都设置为

sizePolicy
Maximum
,最大宽度设置为260px。子项本身保持正确的大小,但包含它们的垂直布局却没有。

中间的垂直布局设置为展开,最右边的设置与左侧相同,只是那个看起来可以工作。如何使第一个垂直布局符合其子级的宽度?

qt qt-designer qlayout
1个回答
3
投票

问题很可能是您需要尝试“拉伸”布局。拉伸设置布局单元相对于彼此的大小。默认为 0,表示不发生拉伸。

在你的情况下,我相信你想将第一列(第0列)的拉伸设置为0,将第二列和第三列的拉伸设置为1。这意味着第一列将始终尽可能小,第二列和第三列将尝试同样宽。

您可以非常轻松地以编程方式设置拉伸;例如,将第一列设置为拉伸 0:

layout->setColumnStretch(0, 0);

在 Qt Designer 中,您可以像任何普通属性一样访问列和行拉伸。

© www.soinside.com 2019 - 2024. All rights reserved.