Sur cette page

Q3DCamera Class

Représentation d'une caméra dans l'espace 3D. En savoir plus...

En-tête : #include <Q3DCamera>
CMake : find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake : QT += datavisualization
Depuis : QtDataVisualization 1.0
En QML : Camera3D
Hérite de : Q3DObject
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Types publics

enum CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, CameraPresetLeftLow, …, CameraPresetDirectlyBelow }

Propriétés

Fonctions publiques

Q3DCamera(QObject *parent = nullptr)
virtual ~Q3DCamera()
Q3DCamera::CameraPreset cameraPreset() const
float maxZoomLevel() const
float minZoomLevel() const
void setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
void setCameraPreset(Q3DCamera::CameraPreset preset)
void setMaxZoomLevel(float zoomLevel)
void setMinZoomLevel(float zoomLevel)
void setTarget(const QVector3D &target)
void setWrapXRotation(bool isEnabled)
void setWrapYRotation(bool isEnabled)
void setXRotation(float rotation)
void setYRotation(float rotation)
void setZoomLevel(float zoomLevel)
QVector3D target() const
bool wrapXRotation() const
bool wrapYRotation() const
float xRotation() const
float yRotation() const
float zoomLevel() const

Fonctions publiques réimplémentées

virtual void copyValuesFrom(const Q3DObject &source) override

Signaux

void cameraPresetChanged(Q3DCamera::CameraPreset preset)
void maxZoomLevelChanged(float zoomLevel)
void minZoomLevelChanged(float zoomLevel)
void targetChanged(const QVector3D &target)
void wrapXRotationChanged(bool isEnabled)
void wrapYRotationChanged(bool isEnabled)
void xRotationChanged(float rotation)
void yRotationChanged(float rotation)
void zoomLevelChanged(float zoomLevel)

Description détaillée

Q3DCamera représente une caméra 3D de base en orbite autour d'un point central, utilisée lors du rendu de la visualisation des données. La classe propose des méthodes simples pour faire pivoter la caméra autour de l'origine et définir le niveau de zoom.

Documentation sur les types de membres

enum Q3DCamera::CameraPreset

Positions prédéfinies pour la caméra.

ConstanteValeurDescription
Q3DCamera::CameraPresetNone-1Utilisée pour indiquer qu'aucun préréglage n'a été défini ou que la scène a été pivotée librement.
Q3DCamera::CameraPresetFrontLow0 
Q3DCamera::CameraPresetFront1 
Q3DCamera::CameraPresetFrontHigh2 
Q3DCamera::CameraPresetLeftLow3 
Q3DCamera::CameraPresetLeft4 
Q3DCamera::CameraPresetLeftHigh5 
Q3DCamera::CameraPresetRightLow6 
Q3DCamera::CameraPresetRight7 
Q3DCamera::CameraPresetRightHigh8 
Q3DCamera::CameraPresetBehindLow9 
Q3DCamera::CameraPresetBehind10 
Q3DCamera::CameraPresetBehindHigh11 
Q3DCamera::CameraPresetIsometricLeft12 
Q3DCamera::CameraPresetIsometricLeftHigh13 
Q3DCamera::CameraPresetIsometricRight14 
Q3DCamera::CameraPresetIsometricRightHigh15 
Q3DCamera::CameraPresetDirectlyAbove16 
Q3DCamera::CameraPresetDirectlyAboveCW4517 
Q3DCamera::CameraPresetDirectlyAboveCCW4518 
Q3DCamera::CameraPresetFrontBelow19Dans Q3DBars, à partir de « CameraPresetFrontBelow », ces paramètres ne fonctionnent que pour les graphiques comportant des valeurs négatives. Pour les valeurs exclusivement positives, ils se comportent comme « Preset...Low ».
Q3DCamera::CameraPresetLeftBelow20 
Q3DCamera::CameraPresetRightBelow21 
Q3DCamera::CameraPresetBehindBelow22 
Q3DCamera::CameraPresetDirectlyBelow23Fonctionne comme « CameraPresetFrontLow » pour les barres ne comportant que des valeurs positives.

Documentation des propriétés

cameraPreset : CameraPreset

Cette propriété contient le préréglage de caméra actuellement actif.

Si aucune valeur n'est définie pour « CameraPreset », la valeur par défaut « CameraPresetNone » est utilisée.

Fonctions d'accès :

Q3DCamera::CameraPreset cameraPreset() const
void setCameraPreset(Q3DCamera::CameraPreset preset)

Signal de notification :

void cameraPresetChanged(Q3DCamera::CameraPreset preset)

maxZoomLevel : float

Cette propriété définit le niveau de zoom maximal autorisé pour la caméra.

Si le niveau maximal est défini sur une nouvelle valeur inférieure au niveau minimal existant, le niveau minimal est également ajusté en fonction du nouveau niveau maximal. Si l'zoomLevel e actuelle se trouve en dehors des nouvelles limites, elle est également ajustée. La valeur par défaut est 500.0f.

Fonctions d'accès :

float maxZoomLevel() const
void setMaxZoomLevel(float zoomLevel)

Signal de notification :

void maxZoomLevelChanged(float zoomLevel)

Voir également zoomLevel et minZoomLevel.

minZoomLevel : float

Cette propriété définit le niveau de zoom minimum autorisé pour la caméra.

Si le niveau minimum est défini sur une nouvelle valeur supérieure au niveau maximum existant, le niveau maximum est également ajusté à ce nouveau minimum. Si l'zoomLevel e actuelle se situe en dehors des nouvelles limites, elle est également ajustée. Le paramètre minZoomLevel ne peut pas être défini à une valeur inférieure à 1.0f. La valeur par défaut est 10.0f.

Fonctions d’accès :

float minZoomLevel() const
void setMinZoomLevel(float zoomLevel)

Signal de notification :

void minZoomLevelChanged(float zoomLevel)

Voir également zoomLevel et maxZoomLevel.

[since QtDataVisualization 1.2] target : QVector3D

Cette propriété contient la cible de la caméra sous la forme d'un vecteur ou d'un sommet dans l'espace 3D.

La valeur par défaut est QVector3D(0.0, 0.0, 0.0).

Les valeurs de coordonnées valides se situent entre -1.0...1.0, les valeurs limites indiquant les extrémités de la plage de l'axe correspondant. Toute valeur située en dehors de cette plage est limitée à la valeur limite correspondante.

Remarque : pour les graphiques à barres, la coordonnée Y est ignorée et la caméra vise toujours un point situé sur l'arrière-plan horizontal.

Cette énumération a été introduite dans QtDataVisualization 1.2.

Fonctions d'accès :

QVector3D target() const
void setTarget(const QVector3D &target)

Signal de notification :

void targetChanged(const QVector3D &target)

wrapXRotation : bool

Cette propriété définit le comportement des limites minimale et maximale de la rotation X.

Si la valeur est définie sur « true », la rotation X de la caméra passe du minimum au maximum, puis du maximum au minimum. Si la valeur est définie sur « false », la rotation X de la caméra est limitée au secteur déterminé par les valeurs minimale et maximale. La valeur par défaut est « true ».

Fonctions d’accès :

bool wrapXRotation() const
void setWrapXRotation(bool isEnabled)

Signal de notification :

void wrapXRotationChanged(bool isEnabled)

wrapYRotation : bool

Cette propriété définit le comportement des limites minimale et maximale de la rotation en Y.

Si l'true, la rotation Y de la caméra passe du minimum au maximum, puis du maximum au minimum. Si l'false, la rotation Y de la caméra est limitée au secteur défini par les valeurs minimale et maximale. La valeur par défaut est « true ».

Fonctions d’accès :

bool wrapYRotation() const
void setWrapYRotation(bool isEnabled)

Signal de notification :

void wrapYRotationChanged(bool isEnabled)

xRotation : float

Cette propriété contient l'angle de rotation X de la caméra autour du point cible, exprimé en degrés.

Fonctions d'accès :

float xRotation() const
void setXRotation(float rotation)

Signal de notification :

void xRotationChanged(float rotation)

yRotation : float

Cette propriété contient l'angle de rotation en Y de la caméra autour du point cible, exprimé en degrés.

Fonctions d'accès :

float yRotation() const
void setYRotation(float rotation)

Signal de notification :

void yRotationChanged(float rotation)

zoomLevel : float

Cette propriété définit le niveau de zoom de la caméra en pourcentage.

La valeur par défaut « 100.0f » signifie qu'aucun zoom avant ou arrière n'est défini pour la caméra. La valeur est limitée par les propriétés « minZoomLevel » et « maxZoomLevel ».

Fonctions d'accès :

float zoomLevel() const
void setZoomLevel(float zoomLevel)

Signal de notification :

void zoomLevelChanged(float zoomLevel)

Voir également minZoomLevel et maxZoomLevel.

Documentation des fonctions membres

[explicit] Q3DCamera::Q3DCamera(QObject *parent = nullptr)

Crée une nouvelle caméra 3D dont la position est définie à l'origine, l'axe vertical orienté vers l'axe Y et le regard dirigé vers l'origine par défaut. Un paramètre facultatif « parent » peut être fourni ; il est alors transmis au constructeur « QObject ».

[virtual noexcept] Q3DCamera::~Q3DCamera()

Supprime l'objet caméra.

[override virtual] void Q3DCamera::copyValuesFrom(const Q3DObject &source)

Réimplémente : Q3DObject::copyValuesFrom(const Q3DObject &source).

Copie les propriétés de la caméra 3D à partir de la caméra source indiquée. Les valeurs sont copiées depuis l'source vers cet objet.

void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)

Fonction utilitaire permettant de définir les rotations et la distance de la caméra. Les propriétés `horizontal ` et ` vertical ` définissent les rotations de la caméra à utiliser. Le paramètre facultatif ` zoom ` peut être fourni pour définir le pourcentage de zoom de la caméra dans les limites définies par les propriétés ` minZoomLevel ` et ` maxZoomLevel `.

© 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.