import QtQuick 2.12 import QtQuick.Window 2.12 import QtQml.Models 2.12 Window { id: win visible: true width: 640 height: 480 ListModel { id: myLM ListElement { name: "Banana" } ListElement { name: "Prune" } ListElement { name: "Orange" } ListElement { name: "Apple" } } ListModel { id: myLM2 ListElement { name: "Pear" } } DelegateModel { id: visualModel model: myLM filterOnGroup: "selected" groups: [ DelegateModelGroup { name: "selected" } ] delegate: Text { visible: DelegateModel.inSelected Component.onCompleted: { DelegateModel.inPersistedItems = true console.log("create element " + model.index + "-" + this + "-name="+ model.name +"-inSelected=" + DelegateModel.inSelected) } Component.onDestruction: console.log("destroy element " + model.index + "-" + this + "-name="+ text) text: model.name } Component.onCompleted: { items.addGroups(0, 2, ["selected"]) items.addGroups(3, 1, ["selected"]) } } ListView { model: visualModel anchors.fill: parent focus: true Keys.onPressed: { console.log("pressed!") visualModel.model = myLM2 visualModel.items.setGroups(0,1, ["selected"]) } } }