如何从qml中的listview中获取一些currentItem的角色?
类似的东西:
ListView {
id: listview
model: myModel
delegate: Item {
property variant myData: model
Text {
text: model.text
}
Text {
text: model.moreText
}
}
onCurrentIndexChanged:{
listview.currentItem[currentIndex].myData.text
listview.currentItem[currentIndex + 1].myData.text
listview.currentItem[currentIndex + 2].myData.text
}
}
答案 0 :(得分:2)
目前还没有一个好的“通用”方法,所以答案取决于你的模型类型。例如,如果您正在使用ListModel,则可以使用ListModel::get。如果您使用的是C ++模型,我建议您查看this question上的答案。
答案 1 :(得分:1)
从几个currentItem
?不是currentItem
单数吗?
currentItem
指向当前选中的 Item
,而不是Item
s 的列表。
也许你想要这个:
myModel.get(currentIndex + i).myRole
答案 2 :(得分:0)
如果您知道模型的角色索引,则可以执行myModel.data(myModel.index(currentIndex, 0), roleIndex)