我有一个 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();
Run Code Online (Sandbox Code Playgroud)
我有一个错误currentProject = projects.get(0)。错误文本:
main.qml:14: Error: Cannot assign QObject* to Project_QMLTYPE_0*
Run Code Online (Sandbox Code Playgroud)
当您将Project对象附加到 ListModel 时,是将Project对象的属性添加到 ListModel(作为 ListModel 角色),而不是Project对象本身。因此,当您使用 时ListModel.get(),返回对象只是一个对象(准确地说是 QObject*),其中 ListModel 角色作为属性,而不是Project对象。
更简单地说,ListModel 不是您的Project对象的容器。它只是存储Project对象的属性。
| 归档时间: |
|
| 查看次数: |
4462 次 |
| 最近记录: |