所以这不是一个真正的问题,我只是发现了一些我无法找到解释的怪异行为。
我使用以下代码从Qt运行我的QML应用程序:
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
qDebug() << "Loading QML file";
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("../qml/main.qml")));
qDebug() << "Executing application"; // This is never printed
return app.exec();
}
据我所知,这是非常标准的,它完全正常。但事实证明它永远不会达到调用app.exec()
的程度。我甚至尝试删除app.exec()
并返回0.它仍然有效。
有谁知道为什么会这样?根据{{3}}事件处理,如果未调用app.exec()
,则无法处理。