0

我有这个布局的问题。我在 .cpp 文件中编写了这个示例:

#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
  QWidget *window = new QWidget;
  window -> setWindowTitle("Enter your age please:");
  QSpinBox *spinBox = new QSpinBox;

  layout -> addWidget(spinBox);
  window -> show();
  return app.exec();
}

我用这些命令编译:

qmake -project
qmake
make

我收到此错误:

age.cpp: In function ‘int main(int, char**)’:
age.cpp:13:3: error: ‘layout’ was not declared in this scope
make: *** [age.o] Error 1

我已经搜索过这个错误,但找不到任何解决方案。任何人都可以帮忙吗?

4

2 回答 2

4

它显然没有在您的源代码中声明。您应该首先声明一个 QGridLayout 变量,例如,如下所示:

QGridLayout * layout = new QGridLayout;
于 2012-07-02T17:37:58.963 回答
1

你还没有声明布局。你需要这样的东西

  // add this
  QLayout *layout = new QHBoxLayout;
  window->setLayout(layout);
于 2012-07-02T17:39:06.083 回答