Sur cette page

NodeInstantiator QML Type

Crée dynamiquement des nœuds. Plus d'informations...

Import Statement: import Qt3D.Core 2.11
Status: Deprecated

Propriétés

Signaux

Méthodes

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'Instantiateur et peuvent également être supprimés par le NodeInstantiator si les propriétés de ce dernier sont modifiées. Les nœuds peuvent également être détruits dynamiquement par d'autres moyens, et le NodeInstantiator ne les recréera pas à moins que les propriétés du NodeInstantiator ne changent.

Documentation sur les propriétés

active : bool

Lorsque la valeur active est true, et que le composant délégué est prêt, l'instanciateur crée des objets conformément au modèle. Lorsque la valeur active est false, 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.

Le signal 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 par le biais de la méthode itemAt 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é.

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 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'adresse 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 : QtQml::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 nœud est ajouté au site NodeInstantiator. Le paramètre index contient l'index attribué au nœud et le paramètre object contient le Node qui a été ajouté.

Le gestionnaire correspondant est onNodeAdded.

Note : 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.

Le gestionnaire correspondant est onObjectRemoved.

Note : Le gestionnaire correspondant est onObjectRemoved.

Documentation de la méthode

object 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.