布局在Qt中不起作用

时间:2012-05-15 09:17:44

标签: c++ qt layout button

我在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);    

1 个答案:

答案 0 :(得分:4)

您已经通过这些陈述设置了对话框的布局......

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

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

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

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