Qt:QVelLayout中的Qlabel和QPushButton

时间:2013-03-21 10:40:51

标签: c++ qt layout

当我尝试将QLabel和QPushbutton对象添加到QVBoxLayout时,我遇到了问题。问题是,它在它们之间增加了太多的空间,如图中所示

Sample

以下是创建布局和标签并添加标签的代码示例。我稍后会添加按钮,但这只是另一个 - > addWidget(按钮)。

jobbcimke= new QLabel(trUtf8("Jobb oldal"));
jobbkozepcimke= new QLabel(trUtf8("Jobb part"));
balcimke= new QLabel(trUtf8("Bal oldal"));
balkozepcimke=new QLabel(trUtf8("Bal part"));

jobbfelulet=new QVBoxLayout();
jobbkozepfelulet=new QVBoxLayout();
balkozepfelulet=new QVBoxLayout();
balfelulet=new QVBoxLayout();
osszefogo=new QHBoxLayout();

jobbfelulet->setAlignment(Qt::AlignRight);
jobbkozepfelulet->setAlignment(Qt::AlignRight);
balfelulet->setAlignment(Qt::AlignLeft);
balkozepfelulet->setAlignment(Qt::AlignLeft);

balfelulet->addWidget(balcimke);
balkozepfelulet->addWidget(balkozepcimke);
jobbfelulet->addWidget(jobbcimke);
jobbkozepfelulet->addWidget(jobbkozepcimke);

osszefogo->addLayout(balfelulet);
osszefogo->addLayout(balkozepfelulet);
osszefogo->addLayout(jobbkozepfelulet);
osszefogo->addLayout(jobbfelulet);

setLayout(osszefogo);

我如何删除它们之间的空格,或者有更好的方法来执行此操作?我已经为布局大小分配创建了标签。

1 个答案:

答案 0 :(得分:1)

如果您深入了解文档,setSpacing(int x) QLayouts方法允许您编辑元素之间的间距,您可能还需要添加一些QSpacerItems来获取准确定位到您想要的位置,或使用setGeometry(QRect rect)方法应用约束。