InstanceList QML Type
Ermöglicht die manuelle Angabe der Instanzierung in QML. Mehr...
Import Statement: | import QtQuick3D |
Inherits: |
Eigenschaften
- instanceCount : int
(since 6.3)
- instances : List<QtQuick3D::InstanceListEntry>
Detaillierte Beschreibung
Der Typ InstanceList ermöglicht es, eine Instanztabelle manuell in QML zu definieren.
Das folgende Beispiel erstellt eine Instanztabelle mit zwei Elementen:
InstanceList { id: manualInstancing instances: [ InstanceListEntry { position: Qt.vector3d(0, 0, -60) eulerRotation: Qt.vector3d(-10, 0, 30) color: "red" }, InstanceListEntry { position: Qt.vector3d(50, 10, 100) eulerRotation: Qt.vector3d(0, 180, 0) color: "green" } ] }
Es ist auch möglich, die Instanzen-Eigenschaft zu füllen, indem man einfach Kinder zur InstanceList hinzufügt. Das folgende Beispiel ist äquivalent zum vorherigen:
InstanceList { id: manualInstancing InstanceListEntry { position: Qt.vector3d(0, 0, -60) eulerRotation: Qt.vector3d(-10, 0, 30) color: "red" } InstanceListEntry { position: Qt.vector3d(50, 10, 100) eulerRotation: Qt.vector3d(0, 180, 0) color: "green" } }
Jedes InstanceListEntry ist ein Objekt, das Eigenschaftsbindungen und Animationen haben kann. Dies bietet eine große Flexibilität, verursacht aber auch einen Speicher-Overhead. Daher ist es nicht empfehlenswert, InstanceList für prozedural generierte Tabellen mit Tausenden (oder Millionen) von Instanzen zu verwenden. Außerdem führt jede Eigenschaftsänderung an einem Eintrag dazu, dass die gesamte Instanztabelle neu berechnet und auf die GPU hochgeladen wird.
Siehe auch RandomInstancing und QQuick3DInstancing.
Eigenschaft Dokumentation
instanceCount : int |
Diese schreibgeschützte Eigenschaft enthält die Anzahl der Instanzen in der Liste.
Diese Eigenschaft wurde in Qt 6.3 eingeführt.
instances : List<QtQuick3D::InstanceListEntry> |
Diese Eigenschaft enthält die Liste der Instanzdefinitionen. Das Ändern dieser Liste oder eines ihrer Elemente führt zur Aktualisierung der Instanztabelle.
© 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.