2012-07-02 79 views
0

我对此布局有问题。我写在.cpp文件这个例子:编译Qt项目时出现“布局未声明”错误

#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 

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

+3

您还没有宣布varibale'layout'你宣布'window'或'app'。现在你明白了吗? :) – SuperSaiyan

+2

请阅读你的编译错误。 – mfontanini

+4

Yeesh,可怜的OP得到所有这些-1。我们都犯了错误,并且一次都是新的。 – Anthony

回答

4

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

QGridLayout * layout = new QGridLayout; 
1

您还没有声明布局。你需要的财产以后这样

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