ListElement QML Type
Define un elemento de datos en un ListModel. Más...
| Import Statement: | import QtQml.Models |
Descripción detallada
Los elementos de lista se definen dentro de las definiciones de ListModel, y representan elementos de una lista que se mostrará utilizando elementos de ListView o Repeater.
Los elementos de lista se definen como otros elementos QML, salvo que contienen una colección de definiciones de función en lugar de propiedades. Utilizando la misma sintaxis que las definiciones de propiedades, los roles definen cómo se accede a los datos e incluyen los propios datos.
Los nombres utilizados para los roles deben comenzar con una letra minúscula y deben ser comunes a todos los elementos de un modelo determinado. Los valores deben ser constantes simples; ya sean cadenas (entre comillas y opcionalmente dentro de una llamada a QT_TR_NOOP(), valores booleanos (true, false), números o valores de enumeración (como AlignText.AlignHCenter).
A partir de Qt 5.11 ListElement también permite asignar una declaración de función a un rol. Esto permite definir ListElements con acciones invocables.
Referencia a roles
Los nombres de rol son utilizados por los delegados para obtener datos de los elementos de la lista. Cada nombre de rol es accesible en el ámbito del delegado, y hace referencia al rol correspondiente en el elemento actual. Cuando un nombre de rol sea ambiguo, se puede acceder a él a través de la propiedad model (por ejemplo, model.cost en lugar de cost).
Ejemplo de uso
El siguiente modelo define una serie de elementos de lista, cada uno de los cuales contiene los roles "nombre" y "coste" y sus valores asociados.
ListModel { id: fruitModel ListElement { name: "Apple" cost: 2.45 } ListElement { name: "Orange" cost: 3.25 } ListElement { name: "Banana" cost: 1.95 } }
El delegado obtiene el nombre y el coste de cada elemento simplemente consultando name y cost:
ListView { anchors.fill: parent model: fruitModel delegate: Row { Text { text: "Fruit: " + name } Text { text: "Cost: $" + cost } } }
Véase también 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.