在QT qml树视图中,如何使用索引从树视图中获取子项作为文本

时间:2018-05-25 10:27:05

标签: qt treeview qml

TreeView {
      anchors.fill: parent
      model: theModel
      onCurrentIndexChanged: console.log("current index: " + currentIndex+ " current row: " + currentIndex.row)
      itemDelegate: Rectangle {
                 color: ( styleData.row % 2 == 0 ) ? "white" : "lightblue"
                 height: 40

                 Text {
                     anchors.verticalCenter: parent.verticalCenter
                     text: styleData.value === undefined ? "" : styleData.value // The branches don't have a description_role so styleData.value will be undefined
                 }
             }

      TableViewColumn {

          role: "name_role"
          title: "Database name"

      }
      onClicked: {
             console.log("clicked", index)
      }

这是我的treeview code.it将数据库名称显示为父级和表名称作为子级。当我点击子区域时,我需要获取子名称。 这就是我所需要的一切。

例如:

database_name
   |____table_one
   |____table_two

当我点击'table_one'时,我需要将table_one作为文本/字符串

这是我的应用程序我需要将子项目名称作为此树视图中的文本

2 个答案:

答案 0 :(得分:0)

经过一番搜索,我自己得到了上述问题的解决方案

syntax: model_class_name.data(index,"Role_name");

*上面的代码将返回树视图中焦点的当前项目

答案 1 :(得分:0)

在qml文件中,您必须将类名设置为model_class_name.data(index,INT);,其中INT-它是多个角色。