Aparentemente, essa foi a solução: acabei de excluir o modelo e a visualização se atualizou.
-
Eu adicionei um ID ao listElements:
ListElement {itemId: 1; itemName: "one"}
-
Na ação
onTriggered
, procurei o item e o removi do modelo:onTriggered: { for(var i = 0; i < listModel.count; i++) { if(listModel.get(i).itemId === itemId) { listModel.remove(i); break; } } }
Na verdade, a pesquisa nem é necessária. De acordo com os documentos da API para QtQuick.ListView
:
Portanto, é possível escrever apenas:
onTriggered: {
listModel.remove(index);
}
Então eu suponho que o objeto era indestrutível porque ainda tinha um item correspondente no modelo - o que faz todo o sentido. Mas neste caso ... talvez a documentação seja um pouco enganadora.