list QML Value Type
una lista de objetos QML. Más...
Descripción detallada
El tipo list hace referencia a una lista de objetos o valores QML.
Las propiedades de tipo list están vacías por defecto.
Un list puede almacenar objetos QML o valores de tipo value.
Al integrarse con C++, tenga en cuenta que cualquier valor QQmlListProperty pasado a QML desde C++ se convierte automáticamente en un valor list, y viceversa.
Del mismo modo, cualquier QList<T> de un tipo de valor registrado T se convierte automáticamente en un valor list, y viceversa.
Utilización del tipo de lista
Por ejemplo, el tipo Item tiene una propiedad states tipo lista que se puede asignar y utilizar de la siguiente manera:
import QtQuick Item { width: 100; height: 100 states: [ State { name: "activated" }, State { name: "deactivated" } ] Component.onCompleted: { console.log("Name of first state:", states[0].name) for (var i = 0; i < states.length; i++) console.log("state", i, states[i].name) } }
Los objetos State definidos se añadirán a la lista states en el orden en que estén definidos.
Si la lista sólo contiene un objeto, pueden omitirse los corchetes:
También puede declarar sus propias propiedades de lista en QML:
import QtQml QtObject { property list<int> intList: [1, 2, 3, 4] property list<QtObject> objectList }
Las listas pueden utilizarse de forma muy similar a las matrices de JavaScript. Por ejemplo:
- Los valores se asignan utilizando la sintaxis de corchetes de
[]con valores separados por comas. - La propiedad
lengthproporciona el número de elementos de la lista. - Para acceder a los valores de la lista se utiliza la sintaxis
[index]. - Puede utilizar
push()para añadir entradas - Puede establecer la propiedad
lengthde la lista para truncarla o ampliarla.
Sin embargo, no puede ampliar automáticamente la lista asignando a un índice actualmente fuera de rango. Además, si inserta valores null en una lista de objetos, éstos se convierten en entradas nullptr en el QQmlListProperty subyacente.
Una lista de tipos de valores se diferencia de una matriz de JavaScript en otro aspecto importante: Al aumentar su longitud, no se producen entradas indefinidas, sino instancias del tipo de valor construidas por defecto.
Del mismo modo, el crecimiento de una lista de tipos de objeto de esta manera produce entradas nulas, en lugar de entradas indefinidas.
Este tipo de valor lo proporciona el lenguaje QML.
Véase también Tipos de valor QML.
© 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.