Access item inside ListView via delegate
Solved
QML and Qt Quick
-
I was able to access the
TextEdit
value usingproperty
value which is set to model viaListElement
something like thisListElement { editProperty: "Initial text" }
and on click event
onClicked: { listModel.setProperty(index, "editProperty", editField.text) }
Still I am unable to access the delete
Button
. Does anyone know to access it? -
hi @Ratzz
you already "listen" to the listModel count property for your onClicked why don't you make the visible property depending on it as well ?
Column { width: 100 Button { text: "Delete" visible: listModel.count > 1 onClicked:{ if(listModel.count > 1) listModel.remove(index); } } }
-
@J-Hilk
Now when I tried with empty textListModel { id: listModel ListElement { editableText: "" } }
and then I tried to change the text field value manually say "sometext" . Button event returned null
onClicked: { listModel.get(0).editableText console.log(listModel.get(0).editableText ) //Null }
while button event setting property gave proper result
onClicked: { listModel.setProperty(index, "editableText ", id.text) console.log(listModel.get(0).editableText ) //"sometext" }
-
@Ratzz said in Access item inside ListView via delegate:
listModel.get(0).editableText
What is that line supposed to do? You are not modifying anything here
onClicked: { listModel.setProperty(index, "editableText ", textEdit.text) }
just do that instead:
onClicked: editableText = textEdit.text