我有一个带有 child 的 QHBoxlayout ,其设置如下:

QHBoxlayout h = new QHBoxlayout();

QLLabel leftLabel = new QLLabel("Left");
QLLabel centerLabel = new QLLabel("Center");

QHBoxlayout rightContent = new QHBoxlayout();
QLLabel r1 = new QLLabel("2");
QLLabel r2 = new QLLabel("3");

rightContent.addWidget(r1);
rightContent.addWidget(r2);

h.addWidget(leftLabel);
h.addWidget(centerLabel);
h.addLayout(rightContent);

这将创建一个QHBoxlayout,所有子项都 float 在左侧。我想让 leftLabel 位于左侧, centerLabel 位于中心, rightContent 位于最右侧。

我怎样才能做到这一点?

谢谢大家。

更新

我想要下面的左,中,右之类的东西:

c++ - 如何在QHBoxLayout中的左,中和右对齐子级-LMLPHP

最佳答案

只需在“左”,“中心”和“右”之间添加空格:

QHBoxLayout *h = new QHBoxLayout(&parentWidget);
h->addWidget(leftLabel);
h->addStretch()
h->addWidget(centerLabel);
h->addStretch()
h->addLayout(rightLabel);

在Qt Designer中进行练习可能会有所帮助。

09-26 19:55