2016-03-16 26 views
-1

我正在使用Qt 5.5创建一个小应用程序。在应用中,我手动创建一个组件,如下所示:QMLComponent未准备好部署应用程序

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

我.qrc文件包含在.pro文件像这样:

RESOURCES += qml.qrc 

一切运作良好,当我从运行的Qt创造者。但是,当我使用macdeployqt工具部署应用程序并尝试运行该应用程序时,我得到了该断言。果然,我试图围绕.isReady()进行循环,并且它将永远挂起。

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

谢谢

+1

你能发表更多的意见?马布你可以测试是否加载isLoading()如果断言命中 – Cits

+0

这实际上是我的问题QmlComponent相同的问题。我不知道您需要将-qmldir = 传递给macdeployqt工具。 – bitwise

回答

0

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