QApplication является производным от QCoreApplication и, таким образом, наследует quit()
публичный слот QCoreApplication
, поэтому нет разницы между QApplication::quit()
и QCoreApplication::quit()
.
Как мы можем прочитать в документации, QCoreApplication::quit()
он «указывает приложению выйти с кодом возврата 0 (успех)». , Если вы хотите выйти, потому что вы обнаружили повреждение файла, вы можете не захотеть выходить с нулевым кодом возврата, что означает успех, поэтому вам следует позвонить, QCoreApplication::exit()
потому что вы можете предоставить ненулевой returnCode, который, по соглашению, указывает на ошибку.
Важно отметить, что «если цикл событий не запущен, эта функция (QCoreApplication :: exit ()) ничего не делает» , поэтому в этом случае вам следует вызвать exit(EXIT_FAILURE)
.
qApp->exit();
Если вы используете Qt Jambi, это должно работать:
источник
если вам нужно закрыть приложение из main (), вы можете использовать этот код
Программа будет завершена, если OpenSSL не установлен.
источник
if(!QSslSocket::supportsSsl()) {return 0;};
. Поскольку app.exec () не был вызван в этой строке, app.exit (0) ничего не делает, см. Документацию QCoreApplication :: exit (): Если цикл событий не запущен, эта функция ничего не делает.пример
источник