Sur cette page

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 Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake : QT += graphs
En QML : Scene3D
Héritages : 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 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 des graphiques est effectué, de la fenêtre secondaire principale à l'intérieur de la fenêtre de visualisation où se trouve la vue principale des graphiques 3D et de la fenêtre secondaire où se trouve la vue en tranches des données en 2D. Les fenêtres secondaires sont par défaut redimensionnées 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 active ou non.

Remarque : tous les graphiques ne prennent pas en charge la vue secondaire en coupe 2D.

Documentation sur les propriétés

devicePixelRatio : qreal

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 :

qreal devicePixelRatio() const
void setDevicePixelRatio(qreal pixelRatio)

Signal de notification :

void devicePixelRatioChanged(qreal 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é Q3DGraphsWidgetItem::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(QPoint point)

Signal de notification :

void graphPositionQueryChanged(QPoint position)

Voir aussi Q3DGraphsWidgetItem::queriedGraphPosition.

[read-only] invalidSelectionPoint : const QPoint

Cette propriété contient un point qui représente une position de sélection non valide.

Fonctions d'accès :

QPoint invalidSelectionPoint() const

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 des graphiques est ciblée.

Si le sous-vue primaire n'a pas été explicitement défini, il correspondra à 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 permet de redimensionner cette dernière 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é 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 certains graphiques. Si elle n'a pas été explicitement définie, elle sera égale à la taille de la fenêtre de visualisation.

Remarque : si la fenêtre secondaire est plus grande que la fenêtre d'affichage ou si elle se trouve à l'extérieur 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 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(QPoint point)

Signal Notifier :

void selectionQueryPositionChanged(QPoint position)

Voir aussi Q3DGraphsWidgetItem::selectedElement.

slicingActive : bool

Cette propriété indique si la vue de découpage en 2D est actuellement active.

Si true, Q3DGraphsWidgetItem::selectionMode doit avoir QtGraphs3D::SelectionFlag::Row ou QtGraphs3D::SelectionFlag::Column réglé sur une sélection valide.

Remarque : tous les graphiques 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(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.

[override virtual noexcept] Q3DScene::~Q3DScene()

Détruit la scène 3D et tous les objets qu'elle contient.

QPoint Q3DScene::invalidSelectionPoint() const

Renvoie une adresse QPoint indiquant une position de sélection non valide.

Remarque : fonction Getter pour la propriété invalidSelectionPoint.

bool Q3DScene::isPointInPrimarySubView(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(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.