首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QCoreApplication退出不工作

QCoreApplication退出不工作
EN

Stack Overflow用户
提问于 2017-07-20 12:04:15
回答 1查看 1.9K关注 0票数 3

我创建了一个控制台程序。为了调试目的,如果不满足某些条件,我需要程序退出。下面是一个示例:

代码语言:javascript
复制
if (VDD.isEmpty() || GND.isEmpty()){
    qWarning() << "VDD and GND must NOT be empty";
    QCoreApplication::quit();
    qWarning() << "After the quit";
}

据我所知,quit()之后的输出不应该打印出来。

我的程序的main()函数如下所示:

代码语言:javascript
复制
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // Do stuff that calls the code above

    return a.exec();
}

有人能说出为什么会发生这种事吗?

目前我使用的是abort(),但我更愿意使用quit()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-20 12:09:17

quit()使事件循环在下一次获得控制时返回。它不会马上回来。所以你需要这样的东西

代码语言:javascript
复制
QCoreApplication::quit();
return;

或者,如果您所使用的方法不是从Qt直接调用的,那么它可能会更复杂一些。

相关exit()方法的文档说明:

注意,与同名的C库函数不同,此函数确实返回给调用方--停止的是事件处理。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45214178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档