我应该如何退出Qt程序,例如加载数据文件时,发现文件损坏,用户需要退出该应用程序或重新启动数据文件?
我应该:
- 调用
退出(EXIT_FAILURE)
- 调用
QApplication::quit()
- 调用
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/