Sur cette page

Q3DCamera Class

Représentation d'une caméra dans l'espace 3D. Plus d'informations...

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érites : Q3DObject

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 du point central qui est 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 des types de membres

enum Q3DCamera::CameraPreset

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

ConstanteValeurDescription
Q3DCamera::CameraPresetNone-1Utilisée pour indiquer qu'un préréglage n'a pas été défini ou que la scène a été tourné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::CameraPresetFrontBelow19Sur le site Q3DBars, à partir de CameraPresetFrontBelow, elles ne fonctionnent que pour les graphiques comportant des valeurs négatives. Ils agissent comme Preset...Low pour les valeurs positives uniquement.
Q3DCamera::CameraPresetLeftBelow20
Q3DCamera::CameraPresetRightBelow21
Q3DCamera::CameraPresetBehindBelow22
Q3DCamera::CameraPresetDirectlyBelow23Agit comme CameraPresetFrontLow pour les barres positives uniquement.

Documentation sur les 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, CameraPresetNone est utilisé par défaut.

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é indique le niveau de zoom maximal autorisé pour la caméra.

Si le niveau maximum est fixé à une nouvelle valeur inférieure au niveau minimum existant, le niveau minimum est également ajusté au nouveau maximum. Si l'adresse zoomLevel actuelle est 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é indique le niveau de zoom minimum autorisé pour la caméra.

Si le niveau minimum est fixé à une nouvelle valeur supérieure au niveau maximum existant, le niveau maximum est également ajusté au nouveau minimum. Si le site zoomLevel actuel se trouve en dehors des nouvelles limites, il est également ajusté. Le niveau minZoomLevel ne peut pas être inférieur à 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 aussi zoomLevel et maxZoomLevel.

[since QtDataVisualization 1.2] target : QVector3D

Cette propriété définit la cible de la caméra comme un vecteur ou 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 sont comprises entre -1.0...1.0, les valeurs de bord indiquant les bords de la plage d'axes correspondante. Toute valeur située en dehors de cette plage est fixée au bord.

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

Cette propriété a été introduite dans QtDataVisualization 1.2.

Fonctions d'accès :

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

Signal Notifier :

void targetChanged(const QVector3D &target)

wrapXRotation : bool

Cette propriété définit le comportement des limites minimales et maximales de la rotation X. Si elle est définie sur , la caméra est enveloppée du minimum au maximum et du maximum au minimum.

Si elle est définie sur true, la rotation X de la caméra est enveloppée du minimum au maximum et du maximum au minimum. Si la valeur est 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 minimales et maximales de la rotation en Y. Si , la rotation en Y de la caméra est enveloppée du minimum au maximum et du maximum au minimum.

Si true, la rotation Y de la caméra s'étend du minimum au maximum et du maximum au minimum. Si false, la rotation Y 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 wrapYRotation() const
void setWrapYRotation(bool isEnabled)

Signal de notification :

void wrapYRotationChanged(bool isEnabled)

xRotation : float

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

Fonctions d'accès :

float xRotation() const
void setXRotation(float rotation)

Signal du notificateur :

void xRotationChanged(float rotation)

yRotation : float

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

Fonctions d'accès :

float yRotation() const
void setYRotation(float rotation)

Signal du notificateur :

void yRotationChanged(float rotation)

zoomLevel : float

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

La valeur par défaut de 100.0f signifie qu'il n'y a pas de zoom avant ou arrière défini dans 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 sur les fonctions membres

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

Construit une nouvelle caméra 3D dont la position est fixée à l'origine, la direction vers le haut orientée vers l'axe Y et regardant l'origine par défaut. Un paramètre facultatif parent peut être fourni et est alors transmis au constructeur QObject.

[virtual noexcept] Q3DCamera::~Q3DCamera()

Détruit 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 donnée. Les valeurs sont copiées de l'adresse source vers cet objet.

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

Fonction utilitaire qui définit les rotations et la distance de la caméra.horizontal et vertical définissent les rotations de la caméra à utiliser. Le paramètre optionnel zoom permet de 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.