3

4.8 文档中,指定:

使用具有相对路径的文件时,路径应该相对于执行 Qt.createComponent() 的文件。

所以我使用以下内容来创建一个对象:

Qt.createComponent("./foo/bar.qml").createObject(_this)

但我得到了错误:

QQmlComponent:组件没有准备好

我也试过(没有运气)"foo/bar.qml"。更改为"foobar.qml"工作正常,目录结构:

./
 +--foo/
 |     `--bar.qml
 `--foobar.qml

但是我注意到在第 5 版文档中没有提到相对 URL ,那么有没有一种我缺少的新方法来做到这一点?

4

1 回答 1

0

我怀疑这与相对路径直接相关。“组件未准备好”错误意味着您在createObject()组件准备好之前调用。相反,您需要监听组件的statusChanged信号并仅在状态更改为时创建对象Component.Ready

查看从 JavaScript 创建动态 QML 对象以获取完整示例和更多详细信息。

于 2014-10-19T02:12:39.433 回答