NodeInstantiator QML Type
Crée des nœuds de manière dynamique. En savoir plus...
| Import Statement: | import Qt3D.Core 2.12 |
| Status: | Deprecated |
Ce type est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
Propriétés
- active : bool
- asynchronous : bool
- count : int
- delegate : QtQml::Component
- model : variant
- object : QtQml::QtObject
Signaux
- objectAdded(int index, QtObject object)
- objectRemoved(int index, QtObject object)
Méthodes
- object objectAt(int index)
Description détaillée
Un NodeInstantiator peut être utilisé pour contrôler la création dynamique de nœuds, ou pour créer dynamiquement plusieurs objets à partir d'un modèle.
L'élément NodeInstantiator gère les objets qu'il crée. Ces objets sont rattachés à l'Instantiator et peuvent également être supprimés par le NodeInstantiator si les propriétés de ce dernier changent. Les nœuds peuvent également être détruits de manière dynamique par d'autres moyens, et le NodeInstantiator ne les recréera pas à moins que ses propriétés ne changent.
Documentation sur les propriétés
active : bool
Lorsque la valeur « active » est définie sur « true » et que le composant délégué est prêt, l'Instantiator créera des objets conformément au modèle. Lorsque la valeur « active » est définie sur « false », aucun objet ne sera créé et tous les objets créés précédemment seront détruits.
La valeur par défaut est true.
asynchronous : bool
Lorsque le paramètre « asynchrone » est défini sur « vrai », l'Instantiator tentera de créer des objets de manière asynchrone. Cela signifie que les objets peuvent ne pas être disponibles immédiatement, même si le paramètre « actif » est défini sur « vrai ».
Vous pouvez utiliser le signal « objectAdded » pour être averti de la création d’éléments.
La valeur par défaut est « false ».
count : int [read-only]
Nombre d'objets actuellement gérés par l'Instantiator.
delegate : QtQml::Component [default]
Le composant utilisé pour créer tous les objets.
Notez qu'une variable supplémentaire, index, sera disponible au sein des instances du délégué. Cette variable fait référence à l'index de l'instance au sein de l'Instantiator, et peut être utilisée pour récupérer l'objet via la méthode itemAt de l'Instantiator.
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 à l'aide du nouveau délégué.
model : variant
Cette propriété peut être définie sur n'importe lequel des modèles de données pris en charge :
- Un nombre indiquant le nombre de délégués à créer par le répéteur
- Un modèle (par exemple, un élément de type ListModel ou une sous-classe de QAbstractItemModel )
- Une liste de chaînes de caractères
- Une liste d’objets
Le type de modèle influe sur les propriétés exposées à l'delegate.
La valeur par défaut est 1, ce qui crée une seule instance de délégué.
Voir également Modèles de données.
object : QtQml::QtObject [read-only]
Il s'agit d'une référence à l'objet créé en premier, destinée à faciliter les choses dans le cas où un seul objet aurait été créé.
Documentation sur les signaux
objectAdded(int index, QtObject object)
Ce signal est émis lorsqu'un nœud est ajouté à l'NodeInstantiator. Le paramètre index contient l'index attribué au nœud, et le paramètre object contient l'Node qui a été ajouté.
Le gestionnaire correspondant est onNodeAdded.
Remarque : le gestionnaire correspondant est onObjectAdded.
objectRemoved(int index, QtObject object)
Ce signal est émis lorsqu'un objet est supprimé de l'Instantiator. Le paramètre « index » contient l'index qui avait été attribué à l'objet, et le paramètre « object » contient l'QtObject qui a été supprimée.
Ne conservez pas de référence à object s’il a été créé par cet Instantiator, car dans ce cas, il sera supprimé peu après la gestion du signal.
Le gestionnaire correspondant est onObjectRemoved.
Remarque : le gestionnaire correspondant est onObjectRemoved.
Documentation de la méthode
object objectAt(int index)
Renvoie une référence à l'objet dont l'index t celle indiquée.
© 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.