2

我在 Qt 中的布局有问题。我正在尝试使用 2 个水平布局和一个垂直主布局来编译此代码。每个水平布局都有 3 个按钮,两个水平布局都包含在垂直布局中。但是在我编译这段代码之后,我只能看到一个只有“退出”按钮的小窗口。

firstline = new QHBoxLayout(this);
secondline = new QHBoxLayout(this);

layout = new QVBoxLayout(this);

eat = new QPushButton("Eat", this);
drink = new QPushButton("Drink", this);
smoke = new QPushButton("Smoke", this);

save = new QPushButton("Save", this);
load = new QPushButton("Load", this);
exit = new QPushButton("Exit", this);

firstline->addWidget(eat);
firstline->addWidget(drink);
firstline->addWidget(smoke);

secondline->addWidget(save);
secondline->addWidget(load);
secondline->addWidget(exit);

layout->addLayout(firstline);
layout->addLayout(secondline);

setLayout(layout);    
4

1 回答 1

4

您已经通过这些语句设置对话框的布局...

 firstline = new QHBoxLayout(this);
 secondline = new QHBoxLayout(this);

所以调用它们的构造函数而不指定它们的父窗口小部件。

firstline = new QHBoxLayout();
secondline = new QHBoxLayout();

这将按照您的预期显示您的布局。

于 2012-05-15T09:38:57.820 回答