Qt 101:为什么我不能使用这门课?

时间:2010-06-10 03:20:24

标签: c++ qt sqlite class

我有使用C ++的经验,但我以前从未真正使用过Qt。我正在尝试连接到SQLite数据库,因此我找到了一个教程here并且正在使用它。在QtCreator IDE中,我去了Add New - > C ++类和头文件中的头文件粘贴在该链接的头部和.cpp文件中我粘贴了源代码。我的main.cpp看起来像这样:

#include <QtGui/QApplication>
#include "mainwindow.h"
#include "databasemanager.h"
#include <qlabel.h>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    DatabaseManager db();
    QLabel hello("nothing...");
    if(db.openDB()){    // Line 13

        hello.setText("Win!");
    }

    else{
        hello.setText("Lame!");
    }
    hello.resize(100, 30);

    hello.show();

    return a.exec();
}

我收到了这个错误:

main.cpp:13: error: request for member 'openDB' in 'db', which is of non-class type 'DatabaseManager()'

有人能指出我正确的方向吗?我知道“copypaste”代码不好,我只想看看我是否可以使数据库连接正常工作,我觉得这样的事情很简单......感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

将DatabaseManager行更改为:

DatabaseManager db;

您声明了一个名为db的本地函数,该函数不带参数,并在您提供DatabaseManager时返回()对象;