Qt Quick 3D - Ejemplo de creación de un modelo dinámico
Demuestra la creación dinámica de modelos.
Este ejemplo muestra la creación dinámica de modelos en una aplicación. Se crean 10 modelos dinámicamente al inicio de la aplicación, y se pueden añadir o eliminar más utilizando los botones + y -.

Configuración
Nodo Spawner
Vamos a necesitar un Node para contener los modelos creados dinámicamente.
Inicio
Vamos a crear 10 modelos en Component.onCompleted para que el ejemplo muestre algo al inicio.
Component.onCompleted: { for (var i = 0; i < 10; ++i) shapeSpawner.addShape() }
Modelos Dinámicos
Añadir Modelos
Para añadir un nuevo elemento a la escena, primero utilizamos la función Qt.createComponent para crear un Component para nuestro modelo. Luego usamos la función createObject del componente para instanciar el elemento, pasando la posición y la escala como parámetros.
function addShape() { var xPos = (2 * Math.random() * range) - range; var yPos = (2 * Math.random() * range) - range; var zPos = (2 * Math.random() * range) - range; var shapeComponent = Qt.createComponent("WeirdShape.qml"); let instance = shapeComponent.createObject(shapeSpawner, { "x": xPos, "y": yPos, "z": zPos, "scale": Qt.vector3d(0.25, 0.25, 0.25)}); instances.push(instance); count = instances.length }
Eliminación de modelos
Los modelos creados dinámicamente se eliminan simplemente sacándolos y destruyéndolos de la pila de instancias.
function removeShape() { if (instances.length > 0) { let instance = instances.pop(); instance.destroy(); count = instances.length } }
© 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.