Instantiator QML Type
Crea objetos dinámicamente. Más...
| Import Statement: | import QtQml.Models |
Propiedades
- active : bool
- asynchronous : bool
- count : int
- delegate : QtQml::Component
- delegateModelAccess : enumeration
(since 6.10) - model : variant
- object : QtObject
Señales
- objectAdded(int index, QtObject object)
- objectRemoved(int index, QtObject object)
Métodos
- QtObject objectAt(int index)
Descripción detallada
Un Instantiator puede utilizarse para controlar la creación dinámica de objetos, o para crear dinámicamente múltiples objetos a partir de una plantilla.
El elemento Instanciador gestionará los objetos que cree. Estos objetos están vinculados al Instanciador y también pueden ser eliminados por el Instanciador si las propiedades del Instanciador cambian. Los objetos también pueden ser destruidos dinámicamente a través de otros medios, y el Instantiator no los recreará a menos que las propiedades del Instantiator cambien.
Nota: Instantiator forma parte de QtQml.Models desde la versión 2.14 y de QtQml desde la versión 2.1. La importación de Instantiator a través de QtQml está obsoleta desde Qt 5.14.
Documentación de propiedades
active : bool
Cuando active es true, y el componente delegado está listo, el instanciador creará objetos de acuerdo con el modelo. Cuando active es false, no se creará ningún objeto y se destruirá cualquier objeto creado previamente.
Por defecto es true.
asynchronous : bool
Cuando asíncrono es verdadero, el instanciador intentará crear objetos de forma asíncrona. Esto significa que los objetos pueden no estar disponibles inmediatamente, incluso si active está en true.
Puede utilizar la señal objectAdded para responder a la creación de objetos.
Por defecto es false.
count : int [read-only]
El número de objetos que el Instanciador está gestionando actualmente.
delegate : QtQml::Component [default]
El componente utilizado para crear todos los objetos.
Nótese que una variable extra, index, estará disponible dentro de las instancias del delegado. Esta variable se refiere al índice de la instancia dentro del Instanciador, y puede ser utilizada para obtener el objeto a través del método objectAt del Instanciador.
Si se cambia esta propiedad, todas las instancias que utilicen el antiguo delegado serán destruidas y se crearán nuevas instancias utilizando el nuevo delegado.
delegateModelAccess : enumeration [since 6.10]
Esta propiedad determina cómo los delegados pueden acceder al modelo.
| Constante | Descripción |
|---|---|
DelegateModel.ReadOnly | Prohíbe a los delegados escribir el modelo a través de las propiedades de contexto, el objeto model o las propiedades requeridas. |
DelegateModel.ReadWrite | Permite a los delegados escribir el modelo a través de las propiedades de contexto, el objeto model o las propiedades requeridas. |
DelegateModel.Qt5ReadWrite | Permitir a los delegados escribir el modelo a través del objeto model y las propiedades de contexto, pero no a través de las propiedades requeridas. |
El valor por defecto es DelegateModel.Qt5ReadWrite.
Esta propiedad se introdujo en Qt 6.10.
Ver también Modelos y Vistas en Qt Quick#CambiandoDatos del Modelo.
model : variant
Esta propiedad puede establecerse a cualquiera de los modelos de datos soportados:
- Un número que indica el número de delegados que debe crear el repetidor.
- Un modelo (por ejemplo, un elemento de ListModel, o una subclase de QAbstractItemModel )
- Una lista de cadenas
- Una lista de objetos
El tipo de modelo afecta a las propiedades que se exponen a delegate.
El valor por defecto es 1, que crea una única instancia de delegado.
Véase también Modelos de datos.
object : QtObject [read-only]
Se trata de una referencia al primer objeto creado, pensada como comodidad para el caso en que sólo se haya creado un objeto.
Documentación sobre señales
objectAdded(int index, QtObject object)
Esta señal se emite cuando se añade un objeto al Instanciador. El parámetro index contiene el índice que se ha dado al objeto, y el parámetro object contiene el QtObject que se ha añadido.
Nota: El manejador correspondiente es onObjectAdded.
objectRemoved(int index, QtObject object)
Esta señal se emite cuando se elimina un objeto del Instanciador. El parámetro index contiene el índice que se le había dado al objeto, y el parámetro object contiene el QtObject que ha sido eliminado.
No mantengas una referencia a object si fue creado por este Instanciador, ya que en estos casos será eliminado poco después de que se maneje la señal.
Nota: El manejador correspondiente es onObjectRemoved.
Documentación del método
QtObject objectAt(int index)
Devuelve una referencia al objeto con la dirección index.
© 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.