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();