There are many ways to get the index of the current item that is displayed on the screen. If you can get the xy coordinate of the current page, you can use the indexAt method in the ListView.
And in each delegate, you can find the index using the index role within the delegate. index is similar to the role you declared in your model and ListView is automatically assigned. For instance,
ListView { delegate: Column { property int indexOfThisDelegate: index //... } }
The index role is introduced here :
A special index role containing the index of an element in the model is also available to the delegate. Note that this index is set to -1 if the item is removed from the model ...
Another way is to explicitly assign a value to the currentItem property in the ListView, so that the view can scroll by itself. Here is a simple example in the Qt documentation that looks like your application.
source share