Repeater3D QML Type
Erzeugt anhand eines bereitgestellten Modells eine Reihe von Node-basierten Komponenten. Mehr...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Inherited By: |
Eigenschaften
- count : int
- delegate : Component
- delegateModelAccess : enumeration
(since 6.10) - model : any
Signale
- objectAdded(int index, Object3D object)
- objectRemoved(int index, Object3D object)
Methoden
- Object3D objectAt(index)
Ausführliche Beschreibung
Der Typ „Repeater3D“ wird verwendet, um eine große Anzahl ähnlicher Elemente zu erstellen. Wie andere Ansichtstypen verfügt auch ein „Repeater3D“ über einen „ model “ und einen „ delegate “: Für jeden Eintrag im Modell wird der Delegat in einem Kontext instanziiert, der mit Daten aus dem Modell vorbelegt ist.
Der „ model “ eines „Repeater“ kann jedes der unterstützten Datenmodelle sein. Darüber hinaus kann ein „Repeater“-Delegat – wie Delegate für andere Ansichten – auf seinen Index innerhalb des „Repeater“ sowie auf die für das Delegat relevanten Modelldaten zugreifen. Weitere Informationen finden Sie in der Dokumentation zur Eigenschaft „ delegate “.
Hinweis: Ein „Repeater3D“-Element besitzt alle Elemente, die es instanziiert. Das Entfernen oder dynamische Löschen eines von einem „Repeater3D“ erstellten Elements führt zu unvorhersehbarem Verhalten.
Hinweis: „Repeater3D“ basiert auf „ Node “ und kann nur von „ Node “ abgeleitete Objekte wiederholen.
Eigenschaftsdokumentation
count : int [read-only]
Diese Eigenschaft gibt die Anzahl der Elemente im Modell an.
Hinweis: Die von „count“ gemeldete Anzahl der Elemente im Modell kann von der Anzahl der erstellten Delegaten abweichen, wenn der „ Repeater3D “ gerade dabei ist, Delegaten zu instanziieren, oder wenn er falsch konfiguriert ist.
delegate : Component [default]
Der Delegat stellt eine Vorlage bereit, die jedes vom Repeater instanziierte Objekt definiert.
Delegaten steht eine schreibgeschützte Eigenschaft „ index “ zur Verfügung, die den Index des Delegaten innerhalb des Repeaters angibt.
Wenn es sich bei „ model “ um ein Modellobjekt handelt (z. B. ein „ ListModel “), kann der Delegat auf alle Modellrollen als benannte Eigenschaften zugreifen, genau wie dies bei Delegaten für Ansichtsklassen wie „ ListView “ der Fall ist.
Siehe auch QML-Datenmodelle.
delegateModelAccess : enumeration [since 6.10]
Diese Eigenschaft legt fest, wie Delegaten auf das Modell zugreifen können.
| Konstante | Beschreibung |
|---|---|
DelegateModel.ReadOnly | Verhindert, dass Delegaten das Modell über Kontexteigenschaften, das „ model “-Objekt oder erforderliche Eigenschaften schreiben können. |
DelegateModel.ReadWrite | Erlaubt Delegaten, das Modell über Kontexteigenschaften, das „ model “-Objekt oder erforderliche Eigenschaften zu schreiben. |
DelegateModel.Qt5ReadWrite | Erlaubt Delegaten, das Modell über das „ model “-Objekt und Kontexteigenschaften zu schreiben, jedoch nicht über erforderliche Eigenschaften. |
Die Standardeinstellung ist „ DelegateModel.Qt5ReadWrite “.
Diese Eigenschaft wurde in Qt 6.10 eingeführt.
Siehe auch „Modelle und Ansichten“ in „ Qt Quick “ unter „Ändern von Modelldaten“.
model : any
Das Modell, das Daten für den Repeater bereitstellt.
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 (z. B. 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.
Siehe auch „Datenmodelle“.
Signal-Dokumentation
objectAdded(int index, Object3D object)
Dieses Signal wird ausgelöst, wenn ein Objekt zum Repeater hinzugefügt wird. Der Parameter „ index “ enthält den Index, an dem das Objekt in den Repeater eingefügt wurde, und der Parameter „ object “ enthält das hinzugefügte „ Object3D “.
Der zugehörige Handler lautet „ onObjectAdded “.
Hinweis: Der entsprechende Handler lautet „ onObjectAdded “.
objectRemoved(int index, Object3D object)
Dieses Signal wird ausgelöst, wenn ein Objekt aus dem Repeater entfernt wird. Der Parameter „ index “ enthält den Index, an dem das Element aus dem Repeater entfernt wurde, und der Parameter „ object “ enthält den „ Object3D “, der entfernt wurde.
Behalten Sie keine Referenz auf ` object ` bei, wenn es von diesem Repeater erstellt wurde, da es in diesen Fällen kurz nach der Verarbeitung des Signals gelöscht wird.
Der zugehörige Handler ist „ onObjectRemoved “.
Hinweis: Der zugehörige Handler ist „ onObjectRemoved “.
Methodendokumentation
Object3D objectAt(index)
Gibt den unter der angegebenen Adresse index erstellten „ Object3D “ zurück oder null, falls unter index kein Eintrag vorhanden ist.
© 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.