Sur cette page

Qt Graphs Intégration avec Qt Quick 3D

Qt Graphs for 3D étant basé sur Qt Quick 3D, il est possible d’intégrer des scènes 3D de Qt Quick dans les graphiques.

Graphique à barres en 3D avec des sphères réfléchissantes sur une plateforme rouge

Environnement de scène

Pour configurer l'environnement d'une scène Qt Quick 3D dans un graphique, définissez soit SceneEnvironment, soit ExtendedSceneEnvironment dans la propriété environment du graphique comme suit :

environment: ExtendedSceneEnvironment {
    aoEnabled: true
    aoDither: true
    ditheringEnabled: true
    lightProbe: Texture {
        textureData: ProceduralSkyTextureData {
            groundBottomColor: "black"
            skyTopColor: "white"
        }
    }
    backgroundMode: SceneEnvironment.SkyBox
    lensFlareEnabled: true
    lensFlareGhostCount: 10
    lensFlareApplyStarburstTexture: true
    lensFlareBloomBias: 0.4
}

Fonctionnalités non prises en charge

La redéfinition du mode d’anticrénelage ou de la couleur d’effacement de la scène ne fonctionne pas, ce qui signifie que la définition d’une valeur pour SceneEnvironment.antialiasingMode et SceneEnvironment.clearColor n’a aucun effet. Cependant, si la propriété backgroundMode n’est pas définie sur SceneEnvironment.Color, l’arrière-plan sera affecté par ces paramètres.

Intégration de la scène

Pour intégrer une scène 3D Qt Quick dans un graphique, définissez la propriété importScene du graphique sur un Node présentant les paramètres suivants :

importScene: Node {
    Model {
        scale: Qt.vector3d(0.01, 0.01, 0.01)
        source: "#Sphere"
        x: 2.5
        z: 2
        y: 1
        castsReflections: false
        receivesReflections: true
        materials: [
            PrincipledMaterial {
                baseColor: "gold"
                metalness: 1.0
                roughness: 0.1
            }
        ]
        ReflectionProbe {
            boxSize: Qt.vector3d(6, 3, 5)
            boxOffset: Qt.vector3d(-1.5, -1, -1.5)
            parallaxCorrection: true
            quality: ReflectionProbe.High
        }
    }
    Model {
        scale: Qt.vector3d(0.01, 0.01, 0.01)
        source: "#Sphere"
        x: -2.5
        z: -2
        y: 1
        castsReflections: false
        receivesReflections: true
        materials: [
            PrincipledMaterial {
                baseColor: "white"
                metalness: 0.0
                roughness: 0.0
                transmissionFactor: 1.0
                thicknessFactor: 50
            }
        ]
    }
}

L’ajout direct d’ Nodes en tant qu’enfants du graphique ne fonctionnera pas, car l’enfant par défaut d’un graphique est la série correspondante.

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