QApplication é derivado de QCoreApplication e, portanto, herda quit()qual é um slot público de QCoreApplication, portanto, não há diferença entre QApplication::quit()e QCoreApplication::quit().
Como podemos ler na documentação QCoreApplication::quit()dele "diz ao aplicativo para sair com o código de retorno 0 (sucesso)". . Se você deseja sair porque descobriu a corrupção do arquivo, talvez não queira sair com o código de retorno zero, o que significa sucesso, então você deve chamarQCoreApplication::exit() porque pode fornecer um returnCode diferente de zero que, por convenção, indica um erro.
É importante observar que "se o loop de eventos não estiver em execução, esta função (QCoreApplication :: exit ()) não fará nada" , portanto, nesse caso, você deve chamar exit(EXIT_FAILURE).
qApp->exit();