[gelöst] Beenden des Hauptprogramms aus privater Klasse

Alles rund um die Programmierung mit Qt
Antworten
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

[gelöst] Beenden des Hauptprogramms aus privater Klasse

Beitrag von 24dan »

Hallo ich nutze für das Update meines Programms (Ausführen einer neunen heruntergeladnen Setup.exe) den Aufruf aus einer eigens erstellten Klasse UPDATE.installExe();

Nach dem Start des Prozesses für die setup.exe bekomme ich mein Hauptprogramm nicht geschlossen.

Wie kann ich das wirklich sauber machen?
Bisher nutze ich dafür eine Klasse aus dem Hauptprogramm
Hier mal die Reihenfolge:

Aufruf der funktion aus der Klasse UPDATE im Hauptprogramm

Code: Alles auswählen

void MainWindow::doneFtp(bool error)
{
    stuff...
    UPDATE update;
    update.installExe();
    stuff..
}
Funktion install.exe in UPDATE

Code: Alles auswählen

/*############################################################
  Name:     installExe()
  Eingang:  leer
  Ausgang:  leer
  Funktion: Neue Version installieren
#############################################################*/
void UPDATE::installExe()
{
    MainWindow hauptprog;
    if (QProcess::startDetached ("setup.exe"))
        hauptprog.close();
}
Und hier die Funktion close() aus dem Hauptprogramm

Code: Alles auswählen

void MainWindow::close()
{
    QWidget::close();
}
Ich habe close geschrieben weil ich auf closeEvent als protected ja nicht von aussen zugreifen kann.
Zuletzt geändert von 24dan am 23. Dezember 2009 14:53, insgesamt 1-mal geändert.
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

QCoreApplication::exit();
beendet dein Programm.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Alternativ läst sich auch ein Signal mit

Code: Alles auswählen

void QCoreApplication::quit ()   [static slot]
verbinden.
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

ohh yeahrrrrrrrr rrrr rr

I love it....

It works.
Thanks 2 franzf & upsala

:P :P
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Antworten