获取所选项目的QML模型

时间:2020-09-16 12:13:10

标签: qt qml qt-quick

我有一个TreeView,其中填充了QStandardItemModel项

    QC1.TreeView{
         id: myTreeView
         model: myModel

         selection: ItemSelectionModel{
            id: mySelectionModel
            model: myModel
         }

         itemDelegate: ItemDelegate{
            MouseArea{
                 anchors.fill: parent
                 onClicked: {
                        console.log(styleData.index, model)
                 }
            }
            Text {
               id: name
               anchors.verticalCenter: parent.verticalCenter
               renderType: Text.NativeRendering
            }
         }
         QC1.TableViewColumn {
            title: "Name"
            role: "name"
         }
    }

    Button{
       text: "Select third element"
       onClicked:{
          myTreeView.selection.select(myModel.getIndex(2,0), ItemSelectionModel.ClearAndSelect) //custom function, returns index(row, col)
          myTreeView.selection.setCurrentIndex(myModel.getIndex(2,0), ItemSelectionModel.SelectCurrent)
          //selection model data?
       }
    }

当我单击任何字段时,我就能获得此项目QModelIndexQQmlDMAbstractItemModelData。单击按钮会自动将所选元素设置为模型中的第三个元素。 myTreeView.selection.currentIndex将给我QModelIndex的选定项目。如何获得QQmlDMAbstractItemModelData的选定项目?

0 个答案:

没有答案
相关问题