InstanceList QML Type
Permet de définir manuellement l'instanciation dans QML. En savoir plus...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propriétés
- instanceCount : int
(since 6.3) - instances : List<QtQuick3D::InstanceListEntry>
Description détaillée
Le type InstanceList permet de définir manuellement un tableau d'instances dans QML.
L'exemple suivant crée une table d'instances comportant deux éléments :
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"
}
]
}Il est également possible de remplir la propriété `instances` en ajoutant simplement des enfants à l'`InstanceList`. L'exemple suivant est équivalent au précédent :
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"
}
}Chaque « InstanceListEntry » est un objet pouvant comporter des liaisons de propriétés et des animations. Cela offre une grande flexibilité, mais entraîne également une surcharge mémoire. Par conséquent, il n’est pas recommandé d’utiliser InstanceList pour des tables générées de manière procédurale contenant des milliers (voire des millions) d’instances. De plus, toute modification de propriété d’une entrée entraînera le recalcul de l’intégralité de la table d’instances et son chargement sur le GPU.
Voir également RandomInstancing et QQuick3DInstancing.
Documentation sur les propriétés
instanceCount : int [since 6.3]
Cette propriété en lecture seule contient le nombre d'instances présentes dans la liste.
Cette propriété a été introduite dans Qt 6.3.
instances : List<QtQuick3D::InstanceListEntry> [default]
Cette propriété contient la liste des définitions d'instances. Toute modification de cette liste ou de l'un de ses éléments entraînera la mise à jour de la table des instances.
© 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.