Hallo,
ich habe ein Programm, welches sich nicht in der Task-Leiste einnisten soll.
Dafür habe ich meinem Hauptfenster das Flag Qt::Tool mit auf den Weg gegeben.
Das funktioniert auch ganz wunderbar, bis zu dem Zeitpunkt wo ich das Programm schließen will. Es wird alles ordentlich beendet, doch das Programm verweilt weiterhin in der Process-Liste des Taskmanagers unter Windows.
Hat jemand von euch schon die gleichen Erfahrungen gemacht und evtl. dafür schon eine Lösung gefunden.
Die suche ergab leider nur einen Eintrag von 2006, der allerdings unbeantwortet blieb.
bp
Programm beendet sich nicht mit flag Qt::Tool
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Je nachdem, wie ich das Programm beende, Tasturkürzel oder eigener Button, wird ein slot aufgerufen, der meine noch laufenden Threads beendet. erst wenn alle threads beendet sind, dann wird das Fenster geschlosse.
Das mit QApplication::setQuitOnLastWindowClosed() hat leider nicht geholfen.
Habe das Prblem jetzt erst einmal mit QApplication::quit() behoben.
Trotzdem danke für den hinweis.
bp
Das mit QApplication::setQuitOnLastWindowClosed() hat leider nicht geholfen.
Habe das Prblem jetzt erst einmal mit QApplication::quit() behoben.
Trotzdem danke für den hinweis.
bp
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
Herzogswalder
- Beiträge: 79
- Registriert: 11. Oktober 2009 00:37
- Wohnort: Dresden
Das folgende schafft Abhilfe:
Ich benutze nie QApplication::quit(), um ein programm zu beenden, da es reicht, das Hauptfenster zu schließen,
vorrausgesetzt, dieses Attribut ist gesetzt. Bei Qt::Tool ist dies standardmäßig nicht der Fall.
Code: Alles auswählen
this->setAttribute(Qt::WA_QuitOnClose;vorrausgesetzt, dieses Attribut ist gesetzt. Bei Qt::Tool ist dies standardmäßig nicht der Fall.
Gruß, Herzogswalder
Qt 4.8, OS X Mountain Lion
Qt 4.8, OS X Mountain Lion