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



我正在使用Qt 5.5创建一个小应用程序。在应用程序中,我手动创建一个组件,如下所示:

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

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

RESOURCES += qml.qrc

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

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

谢谢

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

相关内容

  • 没有找到相关文章

最新更新