ich habe ein Problem mit einem Programm zur Zeiterfassung. Es greift dafür auf eine MySQL Datenbank zu.
Im der main-Funktion wird eine Instanz des Login-Dialogs erstellt und bei erfolgreichem Login eine Instanz des MainWindows. Leider wird das MainWindow nicht angezeigt, obwohl ich im Konstruktor show() aufrufe. Wenn ich das MainWindow direkt in der main-Funktion erstelle wird es aber angezeigt.
An was kann das liegen?
Danke schonmal!
Hier ein Auszug meines Quellcodes:
Code: Alles auswählen
int main(int argc, char **argv)
{
QApplication app(argc, argv);
LoginDialog LD;
return app.exec();
}
LoginDialog::LoginDialog()
{
ui_login.setupUi(this);
show();
dbLogin = QSqlDatabase::addDatabase("QMYSQL","LoginDb");
dbLogin.setHostName("192.168.1.99");
dbLogin.setDatabaseName("zeit");
dbLogin.setUserName("zeit");
dbLogin.setPassword("DVfKXyHbuIadH");
}
void LoginDialog::on_pbOk_clicked()
{
if(mysql_check_user() && !((ui_login.letUser->displayText()).isEmpty()) && !((ui_login.letPassword->text()).isEmpty()))
{
ZeitErfassung ZE(nick, password, sAppVersion, sVersionText1, sVersionText2);
close();
}
else
{
QMessageBox::critical(this, tr("Zeiterfassung"), tr("Die Logindaten sind nicht korrekt.\nZeiterfassung wird jetzt beendet."));
close();
}
}
ZeitErfassung::ZeitErfassung(QString mynick, QString mypassword, QString myAppVersion, QString myVersionText1, QString myVersionText2)
{
ui.setupUi(this);
show();
.....
}