En esta página

Qt 3D: Ejemplo QML simple

Una aplicación QML que demuestra cómo renderizar una escena en Qt 3D.

Captura de pantalla de cómo se renderiza un objeto 3D

Simple demuestra cómo renderizar una escena en Qt 3D.

Ejecutar el ejemplo

Para ejecutar el ejemplo desde Qt Creatorabra el modo Welcome y seleccione el ejemplo de Examples. Para más información, consulte Qt Creator: Tutorial: Construir y ejecutar.

Configuración de la escena

Configuramos toda la escena en el archivo main.qml.

Para poder utilizar los tipos de los módulos Q3D y Q3D Render, debemos importar los módulos:

import Qt3D.Core 2.0
import Qt3D.Render 2.0

Las primeras entidades que creamos son una Camera, que representa la cámara utilizada para el renderizado final, y un controlador de cámara, que nos permite controlar esta cámara utilizando el teclado o el ratón:

Camera {
    id: camera
    projectionType: CameraLens.PerspectiveProjection
    fieldOfView: 45
    aspectRatio: 16/9
    nearPlane : 0.1
    farPlane : 1000.0
    position: Qt.vector3d( 0.0, 0.0, -40.0 )
    upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
    viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
}

Una entidad RenderSettings especifica un ForwardRenderer como framegraph activo:

components: [
    RenderSettings {
        activeFrameGraph: ForwardRenderer {
            clearColor: Qt.rgba(0, 0.5, 1, 1)
            camera: camera
            showDebugOverlay: true
        }
    },
    // Event Source will be set by the Qt3DQuickWindow
    InputSettings { }
]

La fuente de eventos la establece el Qt3DQuickWindow:

Proyecto de ejemplo @ code.qt.io

© 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.