Q3DScene Class
La classe Q3DScene fournit une description de la scène 3D visualisée. Plus d'informations...
| En-tête : | #include <Q3DScene> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DataVisualization)target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake : | QT += datavisualization |
| Depuis : | QtDataVisualization 1.0 |
| En QML : | Scene3D |
| Hérites : | QObject |
Propriétés
|
|
Fonctions publiques
| Q3DScene(QObject *parent = nullptr) | |
| virtual | ~Q3DScene() |
| Q3DCamera * | activeCamera() const |
| Q3DLight * | activeLight() const |
| float | devicePixelRatio() const |
| QPoint | graphPositionQuery() const |
| bool | isPointInPrimarySubView(const QPoint &point) |
| bool | isPointInSecondarySubView(const QPoint &point) |
| bool | isSecondarySubviewOnTop() const |
| bool | isSlicingActive() const |
| QRect | primarySubViewport() const |
| QRect | secondarySubViewport() const |
| QPoint | selectionQueryPosition() const |
| void | setActiveCamera(Q3DCamera *camera) |
| void | setActiveLight(Q3DLight *light) |
| void | setDevicePixelRatio(float pixelRatio) |
| void | setGraphPositionQuery(const QPoint &point) |
| void | setPrimarySubViewport(const QRect &primarySubViewport) |
| void | setSecondarySubViewport(const QRect &secondarySubViewport) |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
| void | setSelectionQueryPosition(const QPoint &point) |
| void | setSlicingActive(bool isSlicing) |
| QRect | viewport() const |
Signaux
| void | activeCameraChanged(Q3DCamera *camera) |
| void | activeLightChanged(Q3DLight *light) |
| void | devicePixelRatioChanged(float pixelRatio) |
| void | graphPositionQueryChanged(const QPoint &position) |
| void | primarySubViewportChanged(const QRect &subViewport) |
| void | secondarySubViewportChanged(const QRect &subViewport) |
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
| void | selectionQueryPositionChanged(const QPoint &position) |
| void | slicingActiveChanged(bool isSlicingActive) |
| void | viewportChanged(const QRect &viewport) |
Membres publics statiques
| QPoint | invalidSelectionPoint() |
Description détaillée
La scène 3D contient une seule caméra active et une seule source lumineuse active. Les données visualisées sont supposées se trouver à un endroit fixe.
La scène 3D garde également la trace de la fenêtre de visualisation dans laquelle le rendu de la visualisation est effectué, de la fenêtre secondaire principale à l'intérieur de la fenêtre de visualisation où se trouve la vue principale de visualisation des données 3D et de la fenêtre secondaire où se trouve la vue en coupe 2D des données. Les fenêtres secondaires sont redimensionnées par défaut par le signal Q3DScene. Pour modifier le comportement de redimensionnement, vous devez écouter les signaux viewportChanged() et slicingActiveChanged() et recalculer les fenêtres secondaires en conséquence.
La scène dispose également d'un indicateur permettant de savoir si la vue secondaire de découpage en 2D est actuellement active ou non.
Remarque : toutes les visualisations ne prennent pas en charge la vue secondaire de découpage en 2D.
Documentation sur les propriétés
activeCamera : Q3DCamera*
Cette propriété indique la caméra actuellement active dans la scène 3D.
Lorsqu'un nouvel objet Q3DCamera est défini, il est automatiquement ajouté comme enfant de la scène.
Fonctions d'accès :
| Q3DCamera * | activeCamera() const |
| void | setActiveCamera(Q3DCamera *camera) |
Signal de notification :
| void | activeCameraChanged(Q3DCamera *camera) |
activeLight : Q3DLight*
Cette propriété contient la lumière actuellement active dans la scène 3D.
Lorsqu'un nouvel objet Q3DLight est défini, il est automatiquement ajouté comme enfant de la scène.
Fonctions d'accès :
| Q3DLight * | activeLight() const |
| void | setActiveLight(Q3DLight *light) |
Signal de notification :
| void | activeLightChanged(Q3DLight *light) |
devicePixelRatio : float
Cette propriété contient le rapport de pixel du périphérique qui est utilisé lors du mappage des coordonnées d'entrée en coordonnées de pixel.
Fonctions d'accès :
| float | devicePixelRatio() const |
| void | setDevicePixelRatio(float pixelRatio) |
Signal de notification :
| void | devicePixelRatioChanged(float pixelRatio) |
graphPositionQuery : QPoint
Cette propriété contient les coordonnées de l'entrée utilisateur qui doit être traitée par la scène en tant que requête de position du graphique.
Si cette propriété est définie sur une valeur autre que invalidSelectionPoint(), le graphique tente de faire correspondre une position du graphique aux coordonnées spécifiées dans la fenêtre d'affichage principale. Après la passe de rendu, cette propriété est ramenée à son état par défaut, à savoir invalidSelectionPoint(). La position du graphique demandée peut être lue à partir de la propriété QAbstract3DGraph::queriedGraphPosition après la prochaine passe de rendu.
Il n'existe pas de coordonnées 3D correctes correspondant à une position d'écran particulière. Par souci de cohérence, les requêtes sont toujours effectuées par rapport aux côtés intérieurs d'une boîte invisible entourant le graphique.
Remarque : les graphiques à barres ne permettent d'interroger la position du graphique qu'au niveau de l'étage du graphique.
Fonctions d'accès :
| QPoint | graphPositionQuery() const |
| void | setGraphPositionQuery(const QPoint &point) |
Signal de notification :
| void | graphPositionQueryChanged(const QPoint &position) |
Voir aussi QAbstract3DGraph::queriedGraphPosition.
primarySubViewport : QRect
Cette propriété contient le rectangle de sous-vue actuel à l'intérieur de la fenêtre de visualisation où la vue principale de la visualisation de données est ciblée.
Si isSlicingActive() est false, la fenêtre secondaire primaire est égale à viewport(). Si isSlicingActive() est true et que la fenêtre secondaire primaire n'a pas été explicitement définie, elle sera égale à un cinquième de viewport().
Remarque : le fait de définir primarySubViewport à une valeur supérieure ou inférieure à celle de la fenêtre de visualisation redimensionne cette dernière en conséquence.
Fonctions d'accès :
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(const QRect &primarySubViewport) |
Signal de notification :
| void | primarySubViewportChanged(const QRect &subViewport) |
secondarySubViewport : QRect
Cette propriété contient le rectangle de la fenêtre secondaire à l'intérieur de la fenêtre de visualisation.
La fenêtre secondaire est utilisée pour dessiner la vue en coupe 2D dans certaines visualisations. Si elle n'a pas été explicitement définie, elle sera égale à QRect. Si isSlicingActive() est true, elle sera égale à viewport.
Remarque : si la fenêtre secondaire est plus grande ou en dehors de la fenêtre, cette dernière est redimensionnée en conséquence.
Fonctions d'accès :
| QRect | secondarySubViewport() const |
| void | setSecondarySubViewport(const QRect &secondarySubViewport) |
Signal de notification :
| void | secondarySubViewportChanged(const QRect &subViewport) |
secondarySubviewOnTop : bool
Cette propriété détermine si la vue 2D ou la vue 3D est dessinée en haut.
Fonctions d'accès :
| bool | isSecondarySubviewOnTop() const |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
Signal de notification :
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
selectionQueryPosition : QPoint
Cette propriété contient les coordonnées de l'entrée utilisateur qui doit être traitée par la scène comme une sélection.
Si cette propriété est définie sur une valeur autre que invalidSelectionPoint(), le graphique tente de sélectionner un élément de données, une étiquette d'axe ou un élément personnalisé aux coordonnées spécifiées dans la fenêtre d'affichage principale. Après la passe de rendu, la propriété est ramenée à son état par défaut, à savoir invalidSelectionPoint().
Fonctions d'accès :
| QPoint | selectionQueryPosition() const |
| void | setSelectionQueryPosition(const QPoint &point) |
Signal Notifier :
| void | selectionQueryPositionChanged(const QPoint &position) |
Voir aussi QAbstract3DGraph::selectedElement.
slicingActive : bool
Cette propriété indique si la vue de découpage en 2D est actuellement active.
Si true, QAbstract3DGraph::selectionMode doit avoir QAbstract3DGraph::SelectionRow ou QAbstract3DGraph::SelectionColumn réglé sur une sélection valide.
Remarque : toutes les visualisations ne prennent pas en charge la vue en coupe 2D.
Fonctions d'accès :
| bool | isSlicingActive() const |
| void | setSlicingActive(bool isSlicing) |
Signal de notification :
| void | slicingActiveChanged(bool isSlicingActive) |
[read-only] viewport : QRect
Cette propriété contient une propriété en lecture seule qui contient le rectangle de visualisation actuel où tous les rendus 3D sont ciblés.
Fonctions d'accès :
| QRect | viewport() const |
Signal Notificateur :
| void | viewportChanged(const QRect &viewport) |
Fonction membre Documentation
[explicit] Q3DScene::Q3DScene(QObject *parent = nullptr)
Construit une scène de base avec une lumière et une caméra. Un paramètre facultatif parent peut être fourni et est ensuite transmis au constructeur QObject.
[virtual noexcept] Q3DScene::~Q3DScene()
Détruit la scène 3D et tous les objets qu'elle contient.
[static] QPoint Q3DScene::invalidSelectionPoint()
Renvoie une adresse QPoint indiquant une position de sélection non valide.
bool Q3DScene::isPointInPrimarySubView(const QPoint &point)
Retourne si le point donné point se trouve à l'intérieur de la vue secondaire primaire ou non. Renvoie true si le point se trouve à l'intérieur de la vue secondaire principale.
Remarque : si des vues secondaires sont superposées et que le point point se trouve à l'intérieur des deux, le résultat est true uniquement si la vue secondaire principale est en haut.
bool Q3DScene::isPointInSecondarySubView(const QPoint &point)
Retourne si le point donné point se trouve à l'intérieur de la vue secondaire ou non. Renvoie true si le point se trouve à l'intérieur de la vue secondaire.
Remarque : si les vues secondaires sont superposées et que le point point se trouve à l'intérieur des deux, le résultat est true uniquement si la vue secondaire est en haut.
© 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.