[solved] ListView.positionViewAtIndex() is not working



  • Hi,

    calling patientList.positionViewAtIndex(idx, ListView.Beginning) on ListView shown below neither scrolls the view nor prints any QML error in console. The same is true for setting currentIndex.

        ListView {
            id: patientList
            anchors.fill: parent
            property int itemHeight: 14 * mm
            clip: true
            maximumFlickVelocity: 9999
            model: SqlQueryModel {
                id: patientsModel
                query: "SELECT patient_id, name, surname, birth_date, last_visit_date " +
                       "FROM patients " +
                       "ORDER BY surname "
            }
    
            delegate: patientDelegate
        }   // ListView
    

    I have followed this example to subclass QSqlQueryModel and use it in QML (don't know if this matters): https://wiki.qt.io/How_to_Use_a_QSqlQueryModel_in_QML

    What am I doing wrong? I also tried to set patientList.contentY, but this is very slow.



  • It turns out to be a problem of the model. I rewrote the model from scratch to inherit from QAbstractListModel. Now the positioning works.

    Unfortunately, it seems that I can't mark this as solved.


  • Lifetime Qt Champion

    Hi,

    Thanks for sharing your solution.

    To mark as solved just edit the thread title and prepend [solved] to it :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.