I have ListView and i use mouse coordinate check and get index, item from ListView. I use listView.indexAt(x,y), listView.itemAt(x,y), in normal ListView i get them successfully but in ListView i add verticalLayoutDirection: ListView.BottomToTop, listView.indexAt(x,y), listView.itemAt(x,y) can't get value.
How i can get indexAt, itemAt correct?
ListView {
id:list
anchors.fill: parent
interactive: false
verticalLayoutDirection: ListView.BottomToTop
MouseArea {
id:mous
anchors.fill: parent
onPositionChanged: {
var positionInRoot = mapToItem(list, mouse.x, mouse.y)
var index = list.indexAt(positionInRoot.x,positionInRoot.y) // is not correct when use verticalLayoutDirection: ListView.BottomToTop
var item = list.itemAt(positionInRoot.x,positionInRoot.y) // is not correct when use verticalLayoutDirection: ListView.BottomToTop
}
}
ListView {
id:list
anchors.fill: parent
interactive: false
verticalLayoutDirection: ListView.BottomToTop
MouseArea {
id:mous
anchors.fill: parent
onPositionChanged: {
var positionInRoot = mapToItem(list, mouse.x, mouse.y)
var index = list.indexAt(positionInRoot.x,positionInRoot.y) // is not correct when use verticalLayoutDirection: ListView.BottomToTop
var item = list.itemAt(positionInRoot.x,positionInRoot.y) // is not correct when use verticalLayoutDirection: ListView.BottomToTop
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks