2016-11-11 62 views
0

我有一个自定义模型,它从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

[QML PathView中的SetRootIndex]的可能重复(http://stackoverflow.com/questions/27648701/setrootindex-in-qml-pathview) – BaCaRoZzo

回答

0

您可以使用DelegateModel。

DelegateModel有一个名为rootIndex的属性,您可以使用该属性告诉ListView将模型的根移到其中一个子列表的开始位置。

ListView { 
    model: DelegateModel { 
     model: myModel 
     delegate: {...} 
     rootIndex: index 
    } 
} 

其中index是从您的GridView附加的指令,它指向您的子条目的父条目。