ListElement QML Type
Définit un élément de données dans un site ListModel. Plus....
| Import Statement: | import QtQml.Models |
Description détaillée
Les éléments de liste sont définis dans les définitions ListModel et représentent les éléments d'une liste qui seront affichés à l'aide des éléments ListView ou Repeater.
Les éléments de liste sont définis comme les autres éléments QML, sauf qu'ils contiennent une collection 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 le mode d'accès aux données et 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 (entre guillemets et éventuellement dans un appel à QT_TR_NOOP(), des valeurs booléennes (true, false), des nombres ou des valeurs d'énumération (telles que AlignText.AlignHCenter).
Depuis Qt 5.11, ListElement permet également d'assigner une déclaration de fonction à un rôle. Cela permet de définir des ListElements dont les actions peuvent être appelées.
Référencement des rôles
Les noms de rôle sont utilisés par les délégués pour obtenir des données à partir des éléments de 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 courant. Lorsqu'un nom de rôle est 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, chacun contenant les rôles "name" et "cost" et 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 aussi 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.