ListElement QML Type
Définit un élément de données dans une « ListModel ». En savoir plus…
| Import Statement: | import QtQml.Models |
Description détaillée
Les éléments de liste sont définis à l’intérieur de définitions d’ ListModel, et représentent des éléments d’une liste qui seront affichés à l’aide d’éléments de type « ListView » ou « Repeater ».
Les éléments de liste sont définis comme les autres éléments QML, à la différence qu’ils contiennent un ensemble de définitions de rôles au lieu de propriétés. Utilisant la même syntaxe que les définitions de propriétés, les rôles définissent à la fois la manière dont les données sont accessibles et incluent les données elles-mêmes.
Les noms utilisés pour les rôles doivent commencer par une lettre minuscule et doivent être communs à tous les éléments d’un modèle donné. Les valeurs doivent être des constantes simples : soit des chaînes de caractères (entre guillemets et, éventuellement, dans un appel à ` QT_TR_NOOP()`), soit des valeurs booléennes (true, false), soit des nombres, soit des valeurs d'énumération (telles que `AlignText.AlignHCenter`).
À partir de Qt 5.11, ListElement permet également d’assigner une déclaration de fonction à un rôle. Cela permet de définir des ListElements dotés d’actions appelables.
Référencement des rôles
Les noms de rôles sont utilisés par les délégués pour obtenir des données à partir des éléments de la liste. Chaque nom de rôle est accessible dans la portée du délégué et fait référence au rôle correspondant dans l'élément actuel. Lorsqu'un nom de rôle risque d'être ambigu, il est possible d'y accéder via la propriété ` model ` (par exemple, ` model.cost ` au lieu de ` cost`).
Exemple d’utilisation
Le modèle suivant définit une série d’éléments de liste, dont chacun contient les rôles « name » et « cost » ainsi que leurs valeurs associées.
ListModel {
id: fruitModel
ListElement {
name: "Apple"
cost: 2.45
}
ListElement {
name: "Orange"
cost: 3.25
}
ListElement {
name: "Banana"
cost: 1.95
}
}Le délégué obtient le nom et le coût de chaque élément en se référant simplement à name et cost:
ListView {
anchors.fill: parent
model: fruitModel
delegate: Row {
Text { text: "Fruit: " + name }
Text { text: "Cost: $" + cost }
}
}Voir également 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.