Q3DScene Class
La classe `Q3DScene` fournit une description de la scène 3D en cours d'affichage. En savoir plus...
| 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érite de : | QObject |
| Statut : | Obsolète |
Cette classe est obsolète. Nous vous déconseillons fortement de l'utiliser dans du nouveau code.
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 emplacement fixe.
La scène 3D garde également en mémoire la fenêtre d’affichage dans laquelle s’effectue le rendu de la visualisation, la sous-fenêtre principale à l’intérieur de la fenêtre d’affichage où se trouve la vue principale de visualisation des données 3D, ainsi que la sous-fenêtre secondaire où se trouve la vue en coupe 2D des données. Par défaut, la taille des sous-fenêtres est redimensionnée par l’ Q3DScene. Pour remplacer ce comportement de redimensionnement, vous devez écouter les signaux viewportChanged() et slicingActiveChanged() et recalculer la taille des sous-fenêtres en conséquence.
La scène dispose également d’un indicateur permettant de savoir si la vue de découpage 2D secondaire est actuellement active ou non.
Remarque : toutes les visualisationsne prennentpas en charge la vue de découpage 2D secondaire.
Documentation des propriétés
activeCamera : Q3DCamera*
Cette propriété contient la caméra actuellement active dans la scène 3D.
Lorsqu'un nouvel objet Q3DCamera est défini, il est automatiquement ajouté en tant qu'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é en tant qu'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 pixels de l'appareil utilisé lors de la conversion des coordonnées d'entrée en coordonnées de pixels.
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 la saisie de l'utilisateur qui doivent être traitées par la scène comme une requête de position dans le graphique.
Si cette propriété est définie sur une valeur autre que ` invalidSelectionPoint()`, le graphe tente de faire correspondre une position du graphe aux coordonnées spécifiées dans la fenêtre d'affichage principale. Après le passage de rendu, cette propriété revient à son état par défaut, à savoir ` invalidSelectionPoint()`. La position du graphe interrogée peut être lue à partir de la propriété ` QAbstract3DGraph::queriedGraphPosition ` après le passage de rendu suivant.
Il n’existe pas de coordonnées 3D uniques permettant de faire correspondre une position particulière à l’écran ; par souci de cohérence, les requêtes sont donc toujours effectuées par rapport aux côtés intérieurs d’un rectangle invisible entourant le graphique.
Remarque : les graphiquesà barres n'autorisent les requêtes de position que au niveau du plancher du graphique.
Fonctions d’accès :
| QPoint | graphPositionQuery() const |
| void | setGraphPositionQuery(const QPoint &point) |
Signal de notification :
| void | graphPositionQueryChanged(const QPoint &position) |
Voir également QAbstract3DGraph::queriedGraphPosition.
primarySubViewport : QRect
Cette propriété contient le rectangle du sous-fenêtre d'affichage actuel à l'intérieur de la fenêtre d'affichage où est ciblée la vue principale de la visualisation des données.
Si isSlicingActive() est égal à false, la sous-fenêtre principale est égale à viewport(). Si isSlicingActive() est égal à true et que la sous-fenêtre principale n'a pas été définie explicitement, elle correspondra à un cinquième de viewport().
Remarque : définir primarySubViewport sur une valeur supérieure ou en dehors de la fenêtre d'affichage 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é définit le rectangle de la fenêtre d'affichage secondaire à l'intérieur de la fenêtre d'affichage.
La fenêtre d'affichage 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 sous-fenêtre secondaire est plus grande que la fenêtre d’affichage ou se trouve en dehors de celle-ci, la fenêtre d’affichage 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 de coupe 2D ou la vue 3D s'affiche au premier plan.
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 la saisie de l'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. Une fois le rendu effectué, la propriété revient à son état par défaut, à savoir ` invalidSelectionPoint()`.
Fonctions d’accès :
| QPoint | selectionQueryPosition() const |
| void | setSelectionQueryPosition(const QPoint &point) |
Signal de notification :
| void | selectionQueryPositionChanged(const QPoint &position) |
Voir également QAbstract3DGraph::selectedElement.
slicingActive : bool
Cette propriété indique si la vue de découpage 2D est actuellement active.
Si « true » est activé, « QAbstract3DGraph::selectionMode » doit avoir soit « QAbstract3DGraph::SelectionRow », soit « QAbstract3DGraph::SelectionColumn » défini sur une sélection valide.
Remarque : toutes les visualisationsne prennentpas en charge la vue de découpage 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é dispose d'une propriété en lecture seule qui contient le rectangle de la fenêtre d'affichage actuelle vers lequel est orienté l'ensemble du rendu 3D.
Fonctions d'accès :
| QRect | viewport() const |
Signal de notification :
| void | viewportChanged(const QRect &viewport) |
Documentation des fonctions membres
[explicit] Q3DScene::Q3DScene(QObject *parent = nullptr)
Crée une scène de base contenant une source lumineuse et une caméra. Un paramètre facultatif « parent » peut être fourni ; il est alors transmis au constructeur de « QObject ».
[virtual noexcept] Q3DScene::~Q3DScene()
Supprime la scène 3D et tous les objets qu'elle contient.
[static] QPoint Q3DScene::invalidSelectionPoint()
Renvoie un code d'erreur « QPoint », indiquant une position de sélection non valide.
bool Q3DScene::isPointInPrimarySubView(const QPoint &point)
Indique si l'point on fournie se trouve à l'intérieur de la sous-vue principale ou non. Renvoie « true » si le point se trouve à l'intérieur de la sous-vue principale.
Remarque : si les sous-vues se superposent et que l'point e donné se trouve à l'intérieur des deux, le résultat est « true » uniquement lorsque la sous-vue principale se trouve au premier plan.
bool Q3DScene::isPointInSecondarySubView(const QPoint &point)
Indique si l'point e donné se trouve ou non à l'intérieur de la sous-vue secondaire. Renvoie « true » si le point se trouve à l'intérieur de la sous-vue secondaire.
Remarque : si les sous-vues se superposent et que l'point e donné se trouve à l'intérieur des deux, le résultat est « true » uniquement lorsque la sous-vue secondaire est au premier plan.
© 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.