Sur cette page

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

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.