在Qt中,如何设置三列布局,每列宽度为33%?

4

我有一个三列布局的网页,但是我很难找到一种方法,使得三个流式列宽度均为33%。


3
在Qt Designer中将水平拉伸设置为1,1,1,或者对索引0、1、2分别将拉伸设置为1。 - ratchet freak
好的,谢谢,我已经理解了它的逻辑! - Ben
1个回答

3

我认为你需要的是这个:

void QBoxLayout::addWidget(QWidget * widget, int stretch = 0, Qt::Alignment alignment = 0)

将widget添加到此框布局的末尾,使用拉伸因子stretch和对齐方式alignment。

拉伸因子仅适用于QBoxLayout的方向,并相对于此QBoxLayout中的其他框和小部件。具有更高拉伸因子的小部件和框增长更多。

如果拉伸因子为0且QBoxLayout中没有其他拉伸因子大于零,则根据涉及每个小部件的QWidget:sizePolicy()分配空间。

对齐方式由alignment指定。默认对齐方式为0,表示小部件填充整个单元格。

根据这份简短的文档,您需要平等地使用拉伸因子。因此,您可以编写类似以下内容:

myLayout->addWidget(myWidget1, 1);
myLayout->addWidget(myWidget2, 1);
myLayout->addWidget(myWidget3, 1);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接