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が表示されますが、ボタンをクリックするとウィンドウが閉じます。
このコードを init-method に入れると、ウィンドウが表示されません。
このコードの何が問題になっていますか?
データベースは QSqlDatabase です。ヘッダーで宣言します。
このコードを削除すると、すべて正常に動作します。

4

1 に答える 1

0

QSqlDatabase::addDatabase静的関数です。それを使用する正しい形式は次のとおりです。

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

QSqlDatabaseまた、 へのポインターではなく、型の変数をクラス メンバーとして使用する必要があることに注意してくださいQSqlDatabase

于 2014-09-18T07:43:23.087 に答える