QMLComponent尚未在已部署的应用中准备就绪

时间:2016-03-16 20:47:50

标签: qt qml qqmlcomponent

我使用Qt 5.5创建一个小应用程序。在应用程序中,我手动创建一个类似的组件:

QQmlComponent component(engine, QUrl("qrc:/Box.qml"));
assert(component.isReady());

我的.qrc文件包含在.pro文件中,如下所示:

RESOURCES += qml.qrc

当我从Qt创建者运行时,一切正常。但是,当我使用macdeployqt工具部署应用程序并尝试运行应用程序时,我得到了断言命中。果然,我试图在.isReady()周围放一个循环,它将永远挂起。

这样做的正确方法是什么?我的qml组件在Qt创建器中工作正常,那么为什么它在部署中失败?

由于

1 个答案:

答案 0 :(得分:0)

事实证明这很简单。您需要将-qmldir=<path to your qml files>传递给macdeployqt。如果您有QML文件,实际上是必需的,但我在文档中没有看到它。