C ++ Qt创建器项目中的编译错误

时间:2016-09-05 16:11:18

标签: c++ qt

我是编程新手。我从Git hub下载了Qt项目存储库,并尝试在我的Ubuntu 14.04上构建它。我尝试编译时遇到了一些错误。我使用的是Qt5,项目文件至少有5年的历史。 代码如下,

data.db.orderByChild('likes').on('value', data => {
    this.keys = [];
    this.posts = [];
    data.forEach(child => {
        this.keys.push(child.key);
        this.posts.push(child.val());
    });
    console.log(this.posts);
});

我收到了以下错误,
错误:此空间未声明QGridLayout
错误:QFileDialog尚未声明为
错误:无效使用不完整类型'类QPushButton'

有人能帮帮我吗?                                                ^

2 个答案:

答案 0 :(得分:3)

尝试包含缺少的标题

    #include <QGridLayout>
    #include <QFileDialog>
    #include <QPushButton>

答案 1 :(得分:1)

您遗失了许多内容,请注意QtGui未向您提供QGridLayoutQFileDialogQPushButton。根据Qt文档:

  

Qt GUI模块提供了窗口系统集成的类,   事件处理,OpenGL和OpenGL ES集成,2D图形,   成像,字体和排版。这些类在内部使用   Qt的用户界面技术,也可以直接使用   实例使用低级OpenGL ES图形编写应用程序   的API。

有关QtGui附带的类的完整概述,请参阅here。因此,最后,正如Thx所指出的那样。 @HAG,您需要添加以下内容:

#include <QGridLayout>
#include <QFileDialog>
#include <QPushButton>

或者,您可以只包含QtWidgets类,它将为您提供所有这些类。

#include <QtWidgets>

请参阅here,了解包含QtWidgets的可用课程的完整概述。