我在Linux Ubuntu 9.10机器上运行QT Creator.我刚刚开始使用QT Creator,当我尝试构建我的项目时出现这个错误时我正在阅读教程:"ISO C++禁止声明'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
Run Code Online (Sandbox Code Playgroud)
我想你只是缺少相应的头文件.你能试一下吗
#include <QtGui/QtGui>
Run Code Online (Sandbox Code Playgroud)
相反,或者如果您愿意
#include <QtGui/QPushButton>
Run Code Online (Sandbox Code Playgroud)
实际上,前向声明就足够了,而不是包括:
class QPushButton;
Run Code Online (Sandbox Code Playgroud)
始终更喜欢标头中的前向声明,并在.cpp中执行包含(在较大的项目中更快和更少的重新编译).