NodeInstantiator QML Type
Erzeugt dynamisch Knoten. Mehr...
Import Statement: | import Qt3D.Core 2.8 |
Status: | Deprecated |
Eigenschaften
- active : bool
- asynchronous : bool
- count : int
- delegate : QtQml::Component
- model : variant
- object : QtQml::QtObject
Signale
- objectAdded(int index, QtObject object)
- objectRemoved(int index, QtObject object)
Methoden
- QtQml::QtObject objectAt(int index)
Detaillierte Beschreibung
Ein NodeInstantiator kann zur Steuerung der dynamischen Erstellung von Knoten oder zur dynamischen Erstellung mehrerer Objekte aus einer Vorlage verwendet werden.
Das Element NodeInstantiator verwaltet die von ihm erstellten Objekte. Diese Objekte sind dem Instantiator übergeordnet und können auch vom NodeInstantiator gelöscht werden, wenn sich die Eigenschaften des NodeInstantiators ändern. Knoten können auch auf andere Weise dynamisch zerstört werden, und der NodeInstantiator wird sie nicht neu erstellen, es sei denn, die Eigenschaften des NodeInstantiators ändern sich.
Dokumentation der Eigenschaften
active : bool |
Wenn active auf true
steht und die delegierte Komponente bereit ist, erstellt der Instantiator Objekte entsprechend dem Modell. Wenn active auf false
steht, werden keine Objekte erstellt und alle zuvor erstellten Objekte werden zerstört.
Die Voreinstellung ist true
.
asynchronous : bool |
Wenn asynchron wahr ist, versucht der Instantiator, Objekte asynchron zu erstellen. Das bedeutet, dass die 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 Objekten zu reagieren.
Die Voreinstellung ist false
.
count : int |
Die Anzahl der Objekte, die der Instantiator derzeit verwaltet.
delegate : QtQml::Component |
Die Komponente, die zur Erstellung aller Objekte verwendet wird.
Beachten Sie, dass eine zusätzliche Variable, index, innerhalb von Instanzen des Delegaten verfügbar sein wird. Diese Variable bezieht sich auf den Index der Instanz innerhalb des Instantiators und kann verwendet werden, um das Objekt durch die itemAt Methode des Instantiators zu erhalten.
Wenn diese Eigenschaft geändert wird, werden alle Instanzen, die den alten Delegaten verwenden, zerstört und neue Instanzen werden unter Verwendung des neuen Delegaten erstellt.
model : variant |
Diese Eigenschaft kann auf jedes der unterstützten Datenmodelle gesetzt werden:
- Eine Zahl, die die Anzahl der Delegaten angibt, die vom Repeater erstellt werden sollen
- Ein Modell (zum Beispiel ein ListModel Element oder eine QAbstractItemModel Unterklasse)
- Eine String-Liste
- Eine Objektliste
Die Art des Modells wirkt sich auf die Eigenschaften aus, die auf der delegate angezeigt werden.
Der Standardwert ist 1, wodurch eine einzelne Delegateninstanz erstellt wird.
Siehe auch Datenmodelle.
object : QtQml::QtObject |
Dies ist ein Verweis auf das erste erstellte Objekt, der für den Fall gedacht ist, dass nur ein Objekt erstellt wurde.
Signal Dokumentation
Dieses Signal wird ausgegeben, wenn ein Knoten zu NodeInstantiator hinzugefügt wird. Der Parameter index enthält den Index, den der Knoten erhalten hat, und der Parameter object enthält den Node, der hinzugefügt wurde.
Der entsprechende Handler ist onNodeAdded
.
Hinweis: Der entsprechende Handler ist onObjectAdded
.
Dieses Signal wird ausgesendet, wenn ein Objekt aus dem Instantiator entfernt wird. Der Parameter index enthält den Index, der dem Objekt gegeben wurde, und der Parameter object enthält das QtObject, das entfernt wurde.
Behalten Sie keinen Verweis auf object, 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 entsprechende Handler ist onObjectRemoved
.
Dokumentation der Methode
QtQml::QtObject objectAt(int index) |
Gibt einen Verweis auf das Objekt mit der angegebenen index zurück.
© 2025 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.