Qt中 QSqlQuery构造函数失败

databaseOP.h :

 class databaseOP
{
public:
    databaseOP(QString hostname);//构造函数,打开指定hostname的数据库

    ~databaseOP();//析构函数,按情况释放数据库连接。

    bool ex01();//执行存储过程,在数据库里追加新记录。

    void getDB();//查询

private:
    QSqlDatabase lk;
    bool lkResult ;
    QSqlQuery query;
    }

databaseOP.cpp :

 databaseOP::databaseOP(QString hostname)
{   
    lk=QSqlDatabase::addDatabase("QMYSQL");
    lk.setUserName("root");
    lk.setPort(3306);
    lk.setHostName(hostname);
    lk.setDatabaseName("changelog");
    lkResult =lk.open();
    if(lkResult)
    {
        qDebug()<<"数据库连接成功建立";
        query=QSqlQuery::QSqlQuery(lk);//出错connot call constructor
    }
    else
    {
        qDebug()<<"数据库连接建立失败";
    }
}
databaseOP::~databaseOP()
{
    if(lkResult)
    {
        qDebug()<<"因为连接成功,因此结束时需要释放数据库连接";
        lk.close();
    }
}

bool databaseOP::ex01()
{
    query.exec("call test()");
}

void databaseOP::getDB()
{

    query.exec("select * from ttable");
    while (query.next())
    {
        qDebug()<<query.value(0).toString()<<query.value(1).toString();

    }
}

在调用QSqlQuery 类的构造函数时出错 这要怎么弄??

看你的mysql的配置和你lk的设置是否一致,mysql本身是否正常运行