Как я могу завершить работающее приложение Qt (QCoreApplication
) когда exit
не работает, потому что цикл событий еще не запущен.
http://doc.qt.io/qt-5/qcoreapplication.html#exit
После вызова этой функции приложение покидает главный
цикл обработки событий и возвращается из вызова exec (). Функция exec ()
возвращает returnCode. Если цикл обработки событий не выполняется, эта функция
ничего не делает
Один (глупый?) Подход, который я нашел, — запустить цикл обработки событий и вызвать QCoreApplication::exit again
но это мой лучший вариант?
Если я правильно понимаю ваш вопрос, вы еще не вызвали QApplication :: exec (), поэтому ваш цикл обработки событий не начался.
Если вы еще не вызвали exec () для запуска цикла обработки событий, почему бы просто не вызвать функцию stdlib exit () или проверить состояние ошибки перед вызовом exec ()
Например. в main.cpp
if(!somethingWentReallyWrong) {
a.exec(); // Where a is your QApplication or QCoreApplication instance
} else {
return myErrorCode;
}
Других решений пока нет …