Qt Anwendung beenden



  • Hallo,

    ich habe ein mini Problem!
    Eine von mir geschriebene Anwendung sammelt Daten aus einer Datenbank und schreibt sie aufbereitet in eine Textdatei.

    Wenn die Datei erstellt wurde, soll sich das Programm von allein beenden.
    Das klappt aber nicht..

    Habe es schon mit:
    QApplication.quit()
    close()
    exit() usw. probiert. Leider alles ohne Erfolg.

    Kann mir jemand sagen woran das liegen könnte?

    Mit einem Pushbutton war das schließen von Programmen so einfach.. ^^



  • Es gibt einen globalen QApplication-Pointer

    qApp->quit();
    


  • Damit hab ich es auch schon probiert. Leider auch erfolgslos.
    Wäre etwas Quelltext hilfreich?

    Eigentlich ist es so, dass ich im Konstruktor meines Widgets die DB Abfragefunktionen starte und die Textdatei erzeuge. Ans Ende des Konstruktors wollte ich dann qApp->quit(); setzen.

    Das Fenster bleibt aber offen



  • habe mir jetzt mit einem timer geholfen ^^

    QTimer::SingleShot(1500, qApp, SLOT(quit()));



  • cardex schrieb:

    Eigentlich ist es so, dass ich im Konstruktor meines Widgets die DB Abfragefunktionen starte und die Textdatei erzeuge. Ans Ende des Konstruktors wollte ich dann qApp->quit(); setzen.

    😮
    Im Konstruktor eines widgets die DB befragen, und wenn der Konstruktor durch ist die app beenden? Das ist ja sowas von Overkill... Für was denn dann überhaupt ein Fenster? Ein Fenster ist dazu, um eine Interaktion zwischen Programm und User zu ermöglichen. Wenn dein Programm was anzeigen soll (Fortschritt, usw.) ist das auch i.O. Aber wenn Fenster, dann soll der User das auch selber bewusst schließen können. Wenn dein Programm auf einem genügend schnellen Rechner läuft, kann es sein, dass das Fenster nur kurz aufblinkt, bevor es selber wieder zugeht. In deinem Fall würde ich eine MessageBox aufpoppen lassen, die sagt "Finito, willste schließe?"



  • nein die app wird durch den windows scheduler 1x täglich gestartet und muss daher ohne user interaktion beendet werden. das fenster ist nur gimmick für den fortschrittsbalken. tut ja keinem weh!


Anmelden zum Antworten