У меня проблема в том, что моя программа 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-метод, он не просматривает окно.
Что не так в этом коде?
База данных является QSqlDatabase. Я заявляю об этом в своем заголовке.
Когда я удаляю этот код, все работает нормально.
QSqlDatabase::addDatabase
это статическая функция. Правильная форма его использования:
database = QSqlDatabase::addDatabase("QMYSQL", "conn1");
Также обратите внимание, что вы должны использовать переменную типа QSqlDatabase
как член класса, а не указатель на QSqlDatabase
,