qt - 退出 Qt 程序的正确方法?

标签 qt resources exit quit

我应该如何退出Qt程序,例如加载数据文件时,发现文件损坏,用户需要退出该应用程序或重新启动数据文件?

我应该:

  1. 调用退出(EXIT_FAILURE)
  2. 调用QApplication::quit()
  3. 调用QCoreApplication::quit()

(2)和(3)之间有什么区别?

最佳答案

QApplication 派生自 QCoreApplication,因此继承了 quit(),它是 QCoreApplication 的公共(public)槽,因此 QApplication::quit( )QCoreApplication::quit()

正如我们在 QCoreApplication::quit() 的文档中所读到的那样它“告诉应用程序退出并返回代码0(成功)。”。如果您因为发现文件损坏而想要退出,那么您可能不希望以返回代码零退出(这意味着成功),因此您应该调用 QCoreApplication::exit()因为您可以提供一个非零 returnCode,按照惯例,它指示错误。

重要的是要注意“如果事件循环未运行,则此函数 (QCoreApplication::exit()) 不执行任何操作”,因此在这种情况下您应该调用 exit (EXIT_FAILURE)

关于qt - 退出 Qt 程序的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8026101/

相关文章:

c++ - Windows 7 异常代码 : 0xc0000409

java - 为什么 getResource 为 NULL?

java - 在 Java/Gradle 环境中访问资源

c++ - 使用 pthead_exit() 退出线程时内存泄漏

python - QObject::connect: 无法对类型为 'QTextCursor' 的参数进行排队

javascript - 使用 JavaScript 为 QML 创建全局变量

c++ - QProcess 保存到 QTextEdit

android - 将浮点值添加到 android 资源/值

python - 如何通过Python脚本退出正在运行的Windows程序?

python-3.x - $的退出状态?发生段错误时使用python