0

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

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

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

谢谢。

4

1 回答 1

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});
}
于 2013-02-01T09:45:30.273 回答