匹配QGridLayout中Column中最大小部件的宽度

问题描述

我有一个不同 QGroupBox 小部件的简单 QGridLayout。这些 QGroupBox 小部件可以具有可变宽度(取决于每个小部件中的内容量。

当groupboxes堆叠成网格时,下一列从最长groupbox的右边开始,但如果同一列中有较短的groupboxes,就会有空白。

是否有一种方法可以基本上强制列中的每个小部件都成为最大宽度小部件的宽度?

基本上我想要一列从这里开始:

<===== Widget 1 Width =======>

<== Widget 2 Width ==> (empty)

<=Widget 1 Width=> (empty    )

为此:

<===== Widget 1 Width =======>

<===== Widget 2 Width =======>

<===== Widget 3 Width =======>

不要在下一列之前留空,而是强制分组框(或网格中的任何小部件)填充到最后。现在该列以任何最大宽度结束,我仍然希望发生这种情况,但我希望较小的小部件也填充到该大小

谢谢!

解决方法

您是否尝试将布局中小部件的大小策略更改为展开?

根据文档:

QSizePolicy::Expanding : sizeHint() 是一个合理的大小,但是小部件可以缩小并且仍然有用。小部件可以利用额外的空间,因此它应该获得尽可能多的空间(例如水平滑块的水平方向)。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...