import QtQuick 2.9 Rectangle { id: theRoot property alias model: theModel property alias addTimer: addToModel property alias addTransition: addTrans property alias displaceTransition: displaceTrans width: 400 height: 400 ListModel { id: theModel } Timer { id: addToModel interval: 1000 running: false repeat: true onTriggered: { theModel.insert(0, {"name": "item " + theModel.count}) if (theModel.count > 2) stop() } } Component { id: listDelegate Text { text: name } } ListView { id: listView property int animationDuration: 10000 anchors.fill: parent model: theModel delegate: listDelegate add: Transition { id: addTrans NumberAnimation { properties: "x"; from: 400; duration: listView.animationDuration } NumberAnimation { properties: "y"; from: 400; duration: listView.animationDuration } } addDisplaced: Transition { id: displaceTrans NumberAnimation { properties: "x,y"; duration: listView.animationDuration } } } }