I have a `ListView` in my QML:

```
ListView {
    id: listView1
    width: parent.width
    height: parent.height
    interactive: true
    clip: true
    visible: true

    property int elementH: 200

    Component.onCompleted: {
        mSingals.setPlotList(listView1);
    }

    function addImage(src) {
        listModel.append({"imageSrc": src});
    }

    function clear() {
        listModel.clear();
    }

    function redraw() {
        // ?????
        //listView1.update();
    }

    model: ListModel {
        id: listModel
        objectName: lModel
    }

    delegate: Rectangle {
        id: delegateItem
        width: listView1.width; height: listView1.elementH
        color: "blue"
        Image {
            anchors.left: parent.left
            source: imageSrc
            visible: true
        }
    }
}

```

At first I add some items using an image provider and function `addImage(src)`:

```
QVariant qv(QString("image://plots/").append(imageName));
QMetaObject::invokeMethod(plotList, "addImage", Q_ARG(QVariant, qv));

```

Everything works fine, the `ListView` updates automatically.
Then I clear all items from the `ListModel` and add some new ones:

```
QMetaObject::invokeMethod(plotList, "clear");
QVariant qv(QString("image://plots/").append(someNewImage));
QMetaObject::invokeMethod(plotList, "addImage", Q_ARG(QVariant, qv));

```

The `ListView` doesn't update even with something like:

```
QMetaObject::invokeMethod(plotList, "redraw");

```

So I have to scroll up and down several times to make old elements disappear and new ones appear, but anyway the first element of 20 remains the same, whatever I do.

What should I use in `redraw()` to force the `ListView` to update?
Maybe somehow emit a `dataChanged` signal of `ListModel`?