Hallo Leute,
ich stehe vor doch sehr trivialen problem. Mein programm ruft eine funktion auf, die eine whileschleife enthält. Diese soll nun abgebrochen werden, wenn ich das programm beende (beispielsweise durch das klicken aufs kreutz). Momentan ist es so geregelt, das ich die schleife erst durch einen buttenclick beenden muss und erst dann das programm schließen kann.
Gibt es irgendeinen parameter der beim schließen des programms gesetzt wird? Somit könnte ich eine if-abfrage in der schleife implementieren.
Oder gibt es eine exit() funktion oder so etwas die ich im destruktor aufrufen muss?
Wäre sehr dankbar für einen rat.
Gruß
Saul
if (Programm beenden) -> break While-Schleife =)
-
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: if (Programm beenden) -> break While-Schleife =)
closeEvent ist hier das Stichwort!
Re: if (Programm beenden) -> break While-Schleife =)
HM, da wüsste ich jetzt nich wie ich das anwenden sollte =(
Könntest du da mal ein kleines Beispiel posten? Hab bisher noch kein event definiert.
Bin vorhin aber auf eine andere möglichkeit gestoßen:
Damit klappt es auch.
Könntest du da mal ein kleines Beispiel posten? Hab bisher noch kein event definiert.
Bin vorhin aber auf eine andere möglichkeit gestoßen:
Code: Alles auswählen
connect( qApp, SIGNAL(lastWindowClosed()),this,SLOT(quit()) );
-
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: if (Programm beenden) -> break While-Schleife =)
mainwindow.h:
mainwindow.cpp:
Ist alles bei den Examples enthalten.
Code: Alles auswählen
protected:
void closeEvent(QCloseEvent *event);
Code: Alles auswählen
void MainWindow::closeEvent(QCloseEvent *event)
{
if (QMessageBox::question(this, "Beenden", "Soll das Programm beendet werden?"==QDialog::Yes)
event->accept();
else
event->ignore();
}