QApplication est dérivé de QCoreApplication et hérite ainsi de quit()
qui est un slot public de QCoreApplication
, il n'y a donc aucune différence entre QApplication::quit()
et QCoreApplication::quit()
.
Comme nous pouvons le lire dans la documentation de QCoreApplication::quit()
celui - ci, "indique à l'application de quitter avec le code retour 0 (succès)". . Si vous souhaitez quitter parce que vous avez découvert une corruption de fichier, vous ne voudrez peut-être pas quitter avec le code de retour zéro, ce qui signifie une réussite, vous devez donc appelerQCoreApplication::exit()
car vous pouvez fournir un returnCode différent de zéro qui, par convention, indique une erreur.
Il est important de noter que "si la boucle d'événements n'est pas en cours d'exécution, cette fonction (QCoreApplication :: exit ()) ne fait rien" , donc dans ce cas, vous devez appeler exit(EXIT_FAILURE)
.
qApp->exit();
Si vous utilisez Qt Jambi, cela devrait fonctionner:
la source
si vous devez fermer votre application depuis main (), vous pouvez utiliser ce code
Le programme se terminera si OpenSSL n'est pas installé
la source
if(!QSslSocket::supportsSsl()) {return 0;};
. Parce que app.exec () n'a pas été appelé à cette ligne, app.exit (0) ne fait rien, voir la documentation de QCoreApplication :: exit (): Si la boucle d'événements n'est pas en cours d'exécution, cette fonction ne fait rien.exemple
la source