2010-04-24 2 views
3

Linux Ubuntu 9.10 시스템에서 QT Creator를 실행하고 있습니다. 방금 Qt Creator를 시작 했으므로 프로젝트를 빌드하는 동안이 오류가 발생했을 때 튜토리얼을 진행했습니다. "ISO C++에서는 'QPushButton'을 선언하지 않아도됩니다." 이 문제는 내 헤더 파일에 나타납니다.ISO C++에서 QT Creator에 유형이없는 'QPushButton'의 선언을 금지합니다.

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 

#include <QtGui/QWidget> 

namespace Ui 
{ 
    class MainWindow; 
} 

class MainWindow : public QWidget 
{ 
    Q_OBJECT 

public: 
    MainWindow(QWidget *parent = 0); 
    ~MainWindow(); 

public slots: 
    void addContact(); 
    void submitContact(); 
    void cancel(); 

private: 
    Ui::MainWindow *ui; 
    QPushButton *addButton; 
    QPushButton *submitButton; 
    QPushButton *cancelButton; 
    QLineEdit *nameLine; 
    QTextEdit *addressText; 

    QMap<QString, QString> contacts; 
    QString oldName; 
    QString oldAddress; 


}; 
#endif // MAINWINDOW_H 
+0

하는 줄에 오류인가? –

답변

7

나는 적절한 헤더 파일이 누락되었다고 생각합니다. 당신이

#include <QtGui/QPushButton> 
+1

와우. 이 일을 잊어 버리고 나 자신을 걷어차 야합니다! –

5

실제로 원하는 경우 대신

#include <QtGui/QtGui> 

를 시도 할 수 있습니다, 또는 앞으로 선언 대신에, 충분 것 같습니다

class QPushButton; 

항상 헤더에 앞으로 선언을 선호

, .cpp 에 포함 시키십시오 (더 큰 프로젝트에서는 더 빠르고 덜 재 컴파일 됨).

0

.pro 파일을 확인할 수도 있습니다.
어딘가에 "QT = ..."와 같은 항목이 있습니까? 그렇다면 "QT + = ..."로 변경하십시오. Qt의 코어 및 GUI 모듈은 QT 변수의 기본 설정이지만 컴파일러 및/또는 링커 오류로 이어질 수있는 덮어 쓸 수 있습니다.

관련 문제