QApplication wird von QCoreApplication abgeleitet und erbt dabei quit()
einen öffentlichen Slot von QCoreApplication
, sodass zwischen QApplication::quit()
und kein Unterschied besteht QCoreApplication::quit()
.
Wie wir in der Dokumentation lesen können QCoreApplication::quit()
es „erzählt die Anwendung zu beenden mit dem Rückkehrcode 0 (Erfolg).“ . Wenn Sie beenden möchten, weil Sie eine Dateibeschädigung festgestellt haben, möchten Sie möglicherweise nicht mit dem Rückkehrcode QCoreApplication::exit()
Null beenden, was Erfolg bedeutet. Sie sollten daher aufrufen, da Sie einen Rückkehrcode ungleich Null angeben können, der gemäß Konvention einen Fehler anzeigt.
Es ist wichtig zu beachten, dass "wenn die Ereignisschleife nicht ausgeführt wird, diese Funktion (QCoreApplication :: exit ()) nichts tut" . In diesem Fall sollten Sie also aufrufen exit(EXIT_FAILURE)
.
qApp->exit();
Wenn Sie Qt Jambi verwenden, sollte dies funktionieren:
quelle
Wenn Sie Ihre Anwendung über main () schließen müssen, können Sie diesen Code verwenden
Das Programm wird beendet, wenn OpenSSL nicht installiert ist
quelle
if(!QSslSocket::supportsSsl()) {return 0;};
. Da app.exec () in dieser Zeile nicht aufgerufen wurde, führt app.exit (0) nichts aus, siehe Dokumentation zu QCoreApplication :: exit (): Wenn die Ereignisschleife nicht ausgeführt wird, führt diese Funktion nichts aus.Beispiel
quelle