0

我的问题是我的程序 Gui 已关闭。例如,我将此代码放在一个pushButtonClicked方法中:

database->addDatabase("QMYSQL", "conn1");
database->setHostName("127.0.0.1");
database->setPort(3306);
database->setDatabaseName( "mydb" );
database->setUserName("root");
database->setPassword("XXXX");
if ( !database->open() )
{
    qDebug("Couldn't open DB");
}

它会查看我的 Gui,但是当我单击按钮时,它会关闭窗口。
当我将此代码放在初始化方法中时,它不会查看窗口。
这段代码有什么问题?
该数据库是一个 QSqlDatabase。我在标题中声明它。
当我删除此代码时,一切正常。

4

1 回答 1

0

QSqlDatabase::addDatabase是一个静态函数。使用它的正确形式是:

database = QSqlDatabase::addDatabase("QMYSQL", "conn1");

另请注意,您应该使用类型变量QSqlDatabase作为类成员,而不是指向QSqlDatabase.

于 2014-09-18T07:43:23.087 回答