ListElement QML Type
Definiert ein Datenelement in einem „ ListModel “. Mehr...
| Import Statement: | import QtQml.Models |
Ausführliche Beschreibung
Listenelemente werden innerhalb von „ ListModel “-Definitionen definiert und stellen Elemente einer Liste dar, die mithilfe von „ ListView “- oder „ Repeater “-Elementen angezeigt werden.
Listenelemente werden wie andere QML-Elemente definiert, mit dem Unterschied, dass sie anstelle von Eigenschaften eine Sammlung von Rollendefinitionen enthalten. Unter Verwendung derselben Syntax wie bei Eigenschaftsdefinitionen legen Rollen sowohl fest, wie auf die Daten zugegriffen wird, als auch die Daten selbst fest.
Die für Rollen verwendeten Namen müssen mit einem Kleinbuchstaben beginnen und sollten für alle Elemente in einem bestimmten Modell einheitlich sein. Werte müssen einfache Konstanten sein: entweder Zeichenfolgen (in Anführungszeichen und optional innerhalb eines Aufrufs von ` QT_TR_NOOP()`), boolesche Werte (`true`, `false`), Zahlen oder Aufzählungswerte (wie z. B. `AlignText.AlignHCenter`).
Ab Qt 5.11 ermöglicht „ListElement“ zudem die Zuweisung einer Funktionsdeklaration zu einer Rolle. Dies erlaubt die Definition von „ListElements“ mit aufrufbaren Aktionen.
Verweisen auf Rollen
Die Rollennamen werden von Delegaten verwendet, um Daten aus Listenelementen abzurufen. Jeder Rollenname ist im Geltungsbereich des Delegaten zugänglich und bezieht sich auf die entsprechende Rolle im aktuellen Element. Wenn die Verwendung eines Rollennamens mehrdeutig wäre, kann über die Eigenschaft ` model ` darauf zugegriffen werden (z. B. ` model.cost ` anstelle von ` cost`).
Anwendungsbeispiel
Das folgende Modell definiert eine Reihe von Listenelementen, von denen jedes die Rollen „name“ und „cost“ sowie die dazugehörigen Werte enthält.
ListModel {
id: fruitModel
ListElement {
name: "Apple"
cost: 2.45
}
ListElement {
name: "Orange"
cost: 3.25
}
ListElement {
name: "Banana"
cost: 1.95
}
}Der Delegat ermittelt den Namen und die Kosten für jedes Element, indem er einfach auf ` name ` und ` cost` verweist:
ListView {
anchors.fill: parent
model: fruitModel
delegate: Row {
Text { text: "Fruit: " + name }
Text { text: "Cost: $" + cost }
}
}Siehe auch ListModel.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.