Sur cette page

Instantiator QML Type

Crée dynamiquement des objets. Plus d'informations...

Import Statement: import QtQml.Models

Propriétés

Signaux

Méthodes

Description détaillée

Un instanciateur peut être utilisé pour contrôler la création dynamique d'objets ou pour créer dynamiquement plusieurs objets à partir d'un modèle.

L'élément Instantiator gère les objets qu'il crée. Ces objets sont liés à l'Instantiateur et peuvent également être supprimés par l'Instantiateur si les propriétés de ce dernier sont modifiées. Les objets peuvent également être détruits dynamiquement par d'autres moyens, et l'Instantiator ne les recréera pas à moins que les propriétés de l'Instantiator ne changent.

Remarque : Instantiator fait partie de QtQml.Models depuis la version 2.14 et de QtQml depuis la version 2.1. L'importation d'Instantiator via QtQml est obsolète depuis Qt 5.14.

Documentation sur les propriétés

active : bool

Lorsque la valeur active est vraie et que le composant délégué est prêt, l'instanciateur crée des objets conformément au modèle. Lorsque active est faux, aucun objet ne sera créé et tous les objets précédemment créés seront détruits.

La valeur par défaut est true.

asynchronous : bool

Lorsque asynchrone est vrai, l'instanciateur tente de créer des objets de manière asynchrone. Cela signifie que les objets peuvent ne pas être disponibles immédiatement, même si la valeur active est fixée à true.

Vous pouvez utiliser le signal objectAdded pour répondre à la création d'objets.

La valeur par défaut est false.

count : int [read-only]

Le nombre d'objets que l'instanciateur gère actuellement.

delegate : QtQml::Component [default]

Le composant utilisé pour créer tous les objets.

Notez qu'une variable supplémentaire, index, sera disponible à l'intérieur des instances du délégué. Cette variable fait référence à l'index de l'instance à l'intérieur de l'instanciateur et peut être utilisée pour obtenir l'objet via la méthode objectAt de l'instanciateur.

Si cette propriété est modifiée, toutes les instances utilisant l'ancien délégué seront détruites et de nouvelles instances seront créées en utilisant le nouveau délégué.

delegateModelAccess : enumeration [since 6.10]

Cette propriété détermine comment les délégués peuvent accéder au modèle.

ConstanteDescription
DelegateModel.ReadOnlyInterdit aux délégués d'écrire le modèle via les propriétés du contexte, l'objet model ou les propriétés requises.
DelegateModel.ReadWriteAutorise les délégués à écrire le modèle via les propriétés du contexte, l'objet model ou les propriétés requises.
DelegateModel.Qt5ReadWriteAutorise les délégués à écrire le modèle via l'objet model et les propriétés de contexte, mais pas via les propriétés requises.

La valeur par défaut est DelegateModel.Qt5ReadWrite.

Cette propriété a été introduite dans Qt 6.10.

Voir aussi Modèles et vues dans Qt Quick#ChangingModel Data.

model : variant

Cette propriété peut être définie sur n'importe lequel des modèles de données pris en charge :

  • un nombre qui indique le nombre de délégués à créer par le répéteur
  • Un modèle (par exemple, un élément ListModel ou une sous-classe QAbstractItemModel )
  • une liste de chaînes de caractères
  • Une liste d'objets

Le type de modèle affecte les propriétés exposées à delegate.

La valeur par défaut est 1, ce qui crée une seule instance de délégué.

Voir aussi Modèles de données.

object : QtObject [read-only]

Il s'agit d'une référence au premier objet créé, destinée à faciliter les choses dans le cas où un seul objet a été créé.

Documentation sur les signaux

objectAdded(int index, QtObject object)

Ce signal est émis lorsqu'un objet est ajouté à l'Instantiateur. Le paramètre index contient l'index qui a été attribué à l'objet et le paramètre object contient le QtObject qui a été ajouté.

Remarque : le gestionnaire correspondant est onObjectAdded.

objectRemoved(int index, QtObject object)

Ce signal est émis lorsqu'un objet est retiré de l'instanciateur. Le paramètre index contient l'index qui a été attribué à l'objet et le paramètre object contient le QtObject qui a été supprimé.

Ne conservez pas de référence à object s'il a été créé par cet instanciateur, car dans ce cas, il sera supprimé peu après le traitement du signal.

Remarque : le gestionnaire correspondant est onObjectRemoved.

Documentation de la méthode

QtObject objectAt(int index)

Renvoie une référence à l'objet avec l'adresse 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.