Answers:
QApplication是从QCoreApplication派生的,因此继承了QApplication quit()
的公共插槽QCoreApplication
,因此QApplication::quit()
和之间没有区别QCoreApplication::quit()
。
正如我们在文档中所读到的那样QCoreApplication::quit()
,“告诉应用程序退出并返回代码0(成功)。” 。如果由于发现文件损坏而要退出,则可能不希望退出并返回零,这表示成功,因此应调用QCoreApplication::exit()
因为您可以提供非零的returnCode,按照惯例,该代码表示错误。
请务必注意,“如果事件循环未运行,则此函数(QCoreApplication :: exit())不会执行任何操作”,因此在这种情况下,您应该调用exit(EXIT_FAILURE)
。
如果您使用的是Qt Jambi,这应该可以工作:
QApplication.closeAllWindows();
如果您需要从main()关闭应用程序,则可以使用此代码
int main(int argc, char *argv[]){
QApplication app(argc, argv);
...
if(!QSslSocket::supportsSsl()) return app.exit(0);
...
return app.exec();
}
如果未安装OpenSSL,程序将终止
if(!QSslSocket::supportsSsl()) {return 0;};
。由于未在此行调用app.exec(),因此app.exit(0)不执行任何操作,请参见QCoreApplication :: exit()的文档:如果事件循环未运行,则此函数不执行任何操作。
qApp->exit();