【发布时间】:2011-05-09 23:40:17
【问题描述】:
我试图创建一个简单的控制台应用程序来试用 Qt 的 XML 解析器。我在VS2008开始了一个项目,得到了这个模板:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
return a.exec();
}
由于我不需要事件处理,我想知道如果我忽略创建 QCoreApplication 并运行事件循环是否会遇到麻烦。文档说明在大多数情况下建议使用它。
但是,出于好奇,我想知道如何在事件循环上执行一些通用任务,然后终止应用程序。我无法通过 Google 搜索相关示例。
【问题讨论】:
-
问题太模糊了。如果您遇到特定问题,请发布代码并发布任何错误。如果您正在寻找操作方法,谷歌是您最好的朋友。
-
如果要运行事件循环,只需要调用exec()即可;听起来你不想那样做。也就是说,如果你最终想要运行一个事件循环,你可以通过调用 qApp->quit() 使事件循环退出(其中 qApp 是一个全局变量,Qt 设置为指向你的 QApplication 对象)跨度>
-
jeremy 所说的:不要调用 EXEC()。你不需要事件循环。
-
对不起,如果这太模糊了,但我不知道如何扩展它。问题是我被文档引导相信,这个模板虽然通常不是强制性的,但实际上是做事的正确方法。当时的一个问题是——这是真的吗,或者我可以跳过它,并且得到了令人满意的回答。另一个问题本质上是:我如何让事情在事件循环上运行然后退出。编辑反映,也许这会有所作为。