动态添加组件到模型

时间:2013-02-01 04:53:56

标签: qt qml

如何将动态创建的Qml对象追加到ListModel?

我尝试了这个,但它不起作用。

property ListModel projects
Component.onCompleted: {
    var comp= Qt.createComponent("Project.qml");
    var object = comp.createObject(parent,{});
    projects.append(object);
}

感谢。

1 个答案:

答案 0 :(得分:1)

ListModel append(),insert()和set()将字典作为参数。因此,您需要将createObject()返回的对象包装到字典中。

还要创建ListModel的实例以分配给项目属性,以便可以附加到它。

property ListModel projects: ListModel {}
Component.onCompleted: {
    var comp= Qt.createComponent("Project.qml");
    var object = comp.createObject(parent, {});
    projects.append({"name": object});
}