Ich habe eine Liste erstellt, die auf einer Registerkarte angezeigt wird. Sie soll ein untertiteltes Listenelement anzeigen: Konversation (ein Element, das Symbol + Text anzeigt). Ich habe eine Schaltfläche, mit der der Benutzer den Text dieses Listenelements ändern kann:
conversation.text : ""
allerdings zeigt Qt jedes Mal, wenn ich es verwende, die Fehlermeldung „Konversation ist nicht definiert“ an, obwohl ich sie unten eindeutig definiert habe, aus irgendeinem Grund aber über die Schaltfläche nicht darauf zugreifen oder sie sehen kann. Gibt es also eine Möglichkeit, dies zu beheben?
ListView {
id: conversationList
anchors.fill: parent
model: 1
delegate:
ListItem.Subtitled {
id: conversation
icon: Qt.resolvedUrl("avatar_contacts_list.png")
}
}
Danke :)
Antwort1
Zunächst einmal: Bitte zeigen Sie immer vollständige Codebeispiele. Die Beantwortung Ihrer Frage ist derzeit mit so viel Rätselraten verbunden ...
Ich VERMUTE, dass Sie auf die Elemente in der Listenansicht über ihre ID zugreifen möchten. In Ihrem speziellen Fall scheint es nur ein Element zu geben (weil Sie geschrieben haben) model: 1
, aber im Allgemeinen gibt es N Elemente. Basierend auf Ihrer Logik hätten sie alle dieselbe ID, da alle auf demselben Delegierten basieren. Dies ist jedoch nicht möglich und die ID des Delegierten kann nur im Element selbst verwendet werden.
Da Sie nur ein Element haben, warum haben Sie ListView
dann überhaupt das? Warum verwenden Sie nicht einfach das ListItem.Subtitled
selbst? Dann können Sie die ID verwenden, wenn Sie sie einrücken.