扩展Qt布局:如何将小部件放在右侧,让另一个小部件完全填充左侧?

use*_*294 5 layout qt qt4

我想在QHBoxLayout的右侧放置一个小部件,其他空格应该扩展左侧.我已将小部件的SizePolicy设置为Expanding,但它无效.有人可以提供一些帮助吗?谢谢.

代码在这里:

QHBoxLayout* tmplayout = new QHBoxLayout(this);
tmplayout->setContentsMargins(0, 0, 0, 0);
lineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);
tmplayout->addWidget(lineEdit, 0, Qt::AlignRight);
tmplayout->addWidget(pushButton, 0, Qt::AlignRight);
Run Code Online (Sandbox Code Playgroud)

lineEdit应该扩展.

Ger*_*ann 7

尝试改变:

tmplayout->addWidget(lineEdit, 0, Qt::AlignRight);
tmplayout->addWidget(pushButton, 0, Qt::AlignRight);
Run Code Online (Sandbox Code Playgroud)

至:

tmplayout->addWidget(lineEdit);
tmplayout->addWidget(pushButton);
Run Code Online (Sandbox Code Playgroud)

处理这样的简单布局时,无需明确指定对齐或拉伸因子.

如果要将pushButton强制为特定大小,可以使用setMinimumSize,setMaximumSizesetFixedSize

最好的祝福