3

我有一个 ListModel,我按以下方式填写:

property ListModel projects: ListModel {}
property Project currentProject : null

function initialization(){
    var comp = Qt.createComponent("Project.qml");
    var object = comp.createObject(parent,{});
    projects.append(object);
    currentProject = projects.get(0)

}
Component.onCompleted: root.initialization();

而且我有一个错误currentProject = projects.get(0)。错误文字:

main.qml:14: Error: Cannot assign QObject* to Project_QMLTYPE_0*
4

1 回答 1

5

当您将Project对象附加到 ListModel 时,将对象的属性Project添加到 ListModel(作为 ListModel 角色),而不是Project对象本身。因此,当您使用 时ListModel.get(),返回对象只是一个对象(确切地说是 QObject*),其中 ListModel 角色作为属性,而不是Project对象。

更简单地说,ListModel 不是您的Project对象的容器。它只存储Project对象的属性。

于 2013-02-04T07:41:17.487 回答