Important: Please read the Qt Code of Conduct -

Partial update repeater model QML

  • Hi everyone, I'm facing a little issue with QML/C++ project. I'm using a repeater to draw points inside a Rectangle and those points come from a model. Here is my code :


    Rectangle { 
          id: rect
          Repeater {
              id: pointsRepeater
              model: qListPoints
              Points {

    qListPoints come from my C++ where I wrote :
    Q_PROPERTY( QVariant qListPoints READ getListPoints NOTIFY listPointsChanged)

    So basically when I add or update a list point I emit listPointsChanged() and my main.qml redraw new or updated points from the list. My issue is when I add points to my list and I emit listPointsChanged() all points are redrawn, It's like a slow strobe effect. I want only the new point either redraw. Is it possible ?

    Thank you un advance.

  • Moderators

    @Hypnostick listPointsChanged signal will trigger the binding and thus update whole model thus resulting in redraw of all the items. May be you should try with custom C++ models like QAbstractItemModel and then emit dataChanged signal to notify the changes.

Log in to reply