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 に答える