gpt4 book ai didi

qt - 修复布局的大小

转载 作者:行者123 更新时间:2023-12-02 02:44:33 25 4
gpt4 key购买 nike

有没有办法让layoutStretch属性始终被遵守?例如。我将其设置为“1,3,2”,但是第一部分中的小部件(标签)(“1,3,2”中的“1”)扩展(当添加更多文本时),然后1:3:2 的比例不再受到尊重。也就是说,“1:3:2”的比例变成了更​​像“3:1:3”的比例。

最佳答案

您应该看看该属性 QWidget::sizePolicy 。它控制布局在更新几何图形时如何尊重其子级的 sizeHint()

所以你需要做的是:通过将三个子部件的水平 sizePolicy 设置为 QSizePolicy::Ignored 来使布局忽略子部件的水平 sizeHints:

QLabel *label = ...;
...
label->setSizePolicy(QSizePolicy::Ignored, label->sizePolicy().verticalPolicy());

(第二个参数将确保垂直策略不会被此语句更改。当然,您应该设置每个子部件的大小策略,此示例代码仅适用于标签。)

请注意,布局的内容必须是小部件;我认为嵌套布局不能分配大小策略(但我可能是错的)。至少使用 QtDesigner 时,无法将大小策略应用于布局本身(如果它不是小部件的布局)。详情请参阅评论。

<小时/>

在 QtDesigner 中,您可以像这样设置子部件的 sizePolicy:

之前:
enter image description here
缩小:
enter image description here
选择布局中的项目:
enter image description here
将水平尺寸策略设置为“忽略”:
enter image description here
结果:
enter image description here

关于qt - 修复布局的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com