Qt Qml通过加载器传递模型的最佳方法

时间:2013-07-18 12:02:00

标签: qt qml

通过加载器将任何模型(例如main.qml中的ListModel)传递到另一个.qml文件的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

实际上只有一种方法可以使用加载器。将qml文件的url传递给source属性。

来自http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-loader.html#details

Loader {
       id: myLoader
       source: "MyItem.qml"
    }

听起来这并不是你所要求的。如果您可以提供有关您正在做的事情的更多详细信息,我们可能会提供更多帮助。

答案 1 :(得分:0)

如果模型只需要设置一次,那么您可以在onLoaded信号处理程序中执行此操作

Loader {
    id: loader

    source: "myelement.qml"

    onLoaded: item.modelProperty = yourModelId;
}

如果需要绑定,例如如果模型存储在一个属性中,该属性将在运行时更改为另一个模型实例,那么Binding元素应该可以工作

Binding {
    target: loader.item
    property: "modelProperty"
    value: theModelStoreProperty
}