编译Qt项目时出错"layout was not declared"

Error "layout was not declared" when compiling Qt project

本文关键字:layout was not declared 出错 Qt 项目 编译      更新时间:2023-10-16

我对这个布局有问题。我在.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

我已经搜索了此错误,但找不到任何解决方案。谁能帮忙?

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

QGridLayout * layout = new QGridLayout;

您尚未声明布局。 你需要这样的东西

  // add this
  QLayout *layout = new QHBoxLayout;
  window->setLayout(layout);