未启动事件循环时不优雅/杀死 Qt 应用程序

Ungraceful / kill Qt application when event loop is not started

exit 由于事件循环尚未启动而无法运行时,如何终止 运行 Qt 应用程序 (QCoreApplication)。

http://doc.qt.io/qt-5/qcoreapplication.html#exit

After this function has been called, the application leaves the main event loop and returns from the call to exec(). The exec() function returns returnCode. If the event loop is not running, this function does nothing

我发现的一种(愚蠢的?)方法是启动事件循环并调用 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;
}