我有一个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?
}
}
当我单击任何字段时,我就能获得此项目QModelIndex
和QQmlDMAbstractItemModelData
。单击按钮会自动将所选元素设置为模型中的第三个元素。 myTreeView.selection.currentIndex
将给我QModelIndex
的选定项目。如何获得QQmlDMAbstractItemModelData
的选定项目?