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 Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake : | QT += graphs |
| En QML : | Scene3D |
| Hérite de : | QObject |
- Liste de tous les membres, y compris les membres hérités
- Q3DScene fait partie des classes C++ d'Qt Graphs pour la 3D.
Propriétés
|
|
Fonctions publiques
| Q3DScene(QObject *parent = nullptr) | |
| virtual | ~Q3DScene() override |
| qreal | devicePixelRatio() const |
| QPoint | graphPositionQuery() const |
| QPoint | invalidSelectionPoint() const |
| bool | isPointInPrimarySubView(QPoint point) |
| bool | isPointInSecondarySubView(QPoint point) |
| bool | isSecondarySubviewOnTop() const |
| bool | isSlicingActive() const |
| QRect | primarySubViewport() const |
| QRect | secondarySubViewport() const |
| QPoint | selectionQueryPosition() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
| void | setGraphPositionQuery(QPoint point) |
| void | setPrimarySubViewport(QRect primarySubViewport) |
| void | setSecondarySubViewport(QRect secondarySubViewport) |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
| void | setSelectionQueryPosition(QPoint point) |
| void | setSlicingActive(bool isSlicing) |
| QRect | viewport() const |
Signaux
| void | devicePixelRatioChanged(qreal pixelRatio) |
| void | graphPositionQueryChanged(QPoint position) |
| void | primarySubViewportChanged(QRect subViewport) |
| void | secondarySubViewportChanged(QRect subViewport) |
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
| void | selectionQueryPositionChanged(QPoint position) |
| void | slicingActiveChanged(bool isSlicingActive) |
| void | viewportChanged(QRect viewport) |
Description détaillée
La scène 3D contient une seule caméra active et une seule source de lumière 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 des graphiques, la sous-fenêtre principale à l'intérieur de la fenêtre d'affichage où se trouve la vue principale des graphiques 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 : tous les graphiquesne prennentpas en charge la vue de découpage 2D secondaire.
Documentation des propriétés
devicePixelRatio : qreal
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 :
| qreal | devicePixelRatio() const |
| void | setDevicePixelRatio(qreal pixelRatio) |
Signal de notification :
| void | devicePixelRatioChanged(qreal pixelRatio) |
graphPositionQuery : QPoint
Cette propriété contient les coordonnées de la saisie utilisateur qui doit être traitée 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é ` Q3DGraphsWidgetItem::queriedGraphPosition ` après le passage de rendu suivant.
Il n’existe pas de coordonnées 3D uniques permettant de 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(QPoint point) |
Signal de notification :
| void | graphPositionQueryChanged(QPoint position) |
Voir également Q3DGraphsWidgetItem::queriedGraphPosition.
[read-only] invalidSelectionPoint : const QPoint
Cette propriété contient un point représentant une position de sélection non valide.
Fonctions d'accès :
| QPoint | invalidSelectionPoint() const |
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 des graphiques.
Si la sous-fenêtre d'affichage principale n'a pas été explicitement définie, elle correspondra à un cinquième de la valeur de ` viewport()`.
Remarque : si la valeur de ` primarySubViewport`est supérieure à la fenêtre d'affichage ou en dehors de celle-ci, la fenêtre d'affichage est redimensionnée en conséquence.
Fonctions d'accès :
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(QRect primarySubViewport) |
Signal de notification :
| void | primarySubViewportChanged(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 certains graphiques. Si elle n'a pas été explicitement définie, sa taille sera égale à celle de la fenêtre d'affichage.
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(QRect secondarySubViewport) |
Signal de notification :
| void | secondarySubViewportChanged(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(QPoint point) |
Signal de notification :
| void | selectionQueryPositionChanged(QPoint position) |
Voir également Q3DGraphsWidgetItem::selectedElement.
slicingActive : bool
Cette propriété indique si la vue de découpage 2D est actuellement active.
Si « true » est activé, « Q3DGraphsWidgetItem::selectionMode » doit avoir soit « QtGraphs3D::SelectionFlag::Row », soit « QtGraphs3D::SelectionFlag::Column » défini sur une sélection valide.
Remarque : tous les graphiquesne 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(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 ».
[override virtual noexcept] Q3DScene::~Q3DScene()
Supprime la scène 3D et tous les objets qu'elle contient.
QPoint Q3DScene::invalidSelectionPoint() const
Renvoie une valeur « QPoint » indiquant une position de sélection non valide.
Remarque : fonctiongetter pour la propriété invalidSelectionPoint.
bool Q3DScene::isPointInPrimarySubView(QPoint point)
Indique si l'point e donné 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 indiquée se trouve à l'intérieur des deux, le résultat n'est « true » que lorsque la sous-vue principale est au premier plan.
bool Q3DScene::isPointInSecondarySubView(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.