我有一个继承自QAbstractItemModel
的自定义模型。它实现了一个两深的列表(第一层有n个元素,每个元素有m个子元素)。我可以成功地将GridView
的模型绑定到第一层。我如何绑定嵌套的ListView以显示第二层元素?
GridView {
model: myModel
delegate: ColumnLayout {
Text { text: "First layer" }
ListView {
model: // What do I put here?
delegate: Text { text: "Second layer" }
}
}
}
答案 0 :(得分:0)
您可以使用DelegateModel。
DelegateModel有一个名为rootIndex的属性,您可以使用该属性告诉ListView将模型的根目录移动到其中一个子列表的开头。
ListView {
model: DelegateModel {
model: myModel
delegate: {...}
rootIndex: index
}
}
其中index是GridView中附加的属性,指向子条目的父条目。