Auf dieser Seite

NodeInstantiator QML Type

Erstellt dynamisch Knoten. Mehr...

Import Statement: import Qt3D.Core 2.12
Status: Deprecated

Dieser Typ ist veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.

Eigenschaften

Signale

Methoden

Ausführliche Beschreibung

Ein NodeInstantiator kann verwendet werden, um die dynamische Erstellung von Knoten zu steuern oder um mehrere Objekte dynamisch aus einer Vorlage zu erstellen.

Das NodeInstantiator-Element verwaltet die von ihm erstellten Objekte. Diese Objekte sind dem Instantiator untergeordnet und können vom NodeInstantiator auch gelöscht werden, wenn sich die Eigenschaften des NodeInstantiators ändern. Knoten können auch auf andere Weise dynamisch zerstört werden, und der NodeInstantiator erstellt sie nicht neu, es sei denn, die Eigenschaften des NodeInstantiators ändern sich.

Dokumentation zu den Eigenschaften

active : bool

Wenn „ true “ aktiv ist und die Delegate-Komponente bereit ist, erstellt der Instantiator Objekte gemäß dem Modell. Wenn „ false “ aktiv ist, werden keine Objekte erstellt und alle zuvor erstellten Objekte werden zerstört.

Die Standardeinstellung ist „ true “.

asynchronous : bool

Wenn „asynchron“ auf „true“ gesetzt ist, versucht der Instantiator, Objekte asynchron zu erstellen. Das bedeutet, dass Objekte möglicherweise nicht sofort verfügbar sind, selbst wenn „active“ auf „true“ gesetzt ist.

Sie können das Signal „ objectAdded “ verwenden, um auf die Erstellung von Elementen zu reagieren.

Die Standardeinstellung ist „ false “.

count : int [read-only]

Die Anzahl der Objekte, die der Instantiator derzeit verwaltet.

delegate : QtQml::Component [default]

Die Komponente, die zur Erstellung aller Objekte verwendet wird.

Beachten Sie, dass innerhalb der Instanzen des Delegaten eine zusätzliche Variable namens „index“ verfügbar ist. Diese Variable bezieht sich auf den Index der Instanz innerhalb des Instantiators und kann verwendet werden, um das Objekt über die Methode „itemAt“ des Instantiators abzurufen.

Wird diese Eigenschaft geändert, werden alle Instanzen, die den alten Delegaten verwenden, zerstört und neue Instanzen unter Verwendung des neuen Delegaten erstellt.

model : variant

Diese Eigenschaft kann auf eines der unterstützten Datenmodelle gesetzt werden:

  • Eine Zahl, die die Anzahl der vom Repeater zu erstellenden Delegaten angibt
  • Ein Modell (beispielsweise ein „ListModel“-Element oder eine Unterklasse von „ QAbstractItemModel “)
  • Eine Zeichenfolgenliste
  • Eine Objektliste

Der Modelltyp beeinflusst die Eigenschaften, die dem „ delegate “ zur Verfügung gestellt werden.

Der Standardwert ist 1, wodurch eine einzelne Delegateninstanz erstellt wird.

Siehe auch „Datenmodelle“.

object : QtQml::QtObject [read-only]

Dies ist ein Verweis auf das zuerst erstellte Objekt, der als Erleichterung für den Fall gedacht ist, dass nur ein Objekt erstellt wurde.

Signal-Dokumentation

objectAdded(int index, QtObject object)

Dieses Signal wird ausgelöst, wenn ein Knoten zur „ NodeInstantiator “ hinzugefügt wird. Der Parameter „ index “ enthält den Index, der dem Knoten zugewiesen wurde, und der Parameter „ object “ enthält die hinzugefügte „ Node “.

Der zugehörige Handler ist „ onNodeAdded “.

Hinweis: Der zugehörige Handler lautet onObjectAdded.

objectRemoved(int index, QtObject object)

Dieses Signal wird ausgelöst, wenn ein Objekt aus dem Instantiator entfernt wird. Der Parameter „ index “ enthält den Index, der dem Objekt zugewiesen wurde, und der Parameter „ object “ enthält das „ QtObject “, das entfernt wurde.

Behalten Sie keine Referenz auf ` object ` bei, wenn es von diesem Instantiator erstellt wurde, da es in diesen Fällen kurz nach der Bearbeitung des Signals gelöscht wird.

Der entsprechende Handler ist „ onObjectRemoved “.

Hinweis: Der zugehörige Handler ist „ onObjectRemoved “.

Methodendokumentation

object objectAt(int index)

Gibt eine Referenz auf das Objekt mit dem angegebenen „ index “ zurück.

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