Auf dieser Seite

Q3DCamera Class

Darstellung einer Kamera im 3D-Raum. Mehr...

Überschrift: #include <Q3DCamera>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Seit: QtDataVisualization 1.0
In QML: Camera3D
Erbt von: Q3DObject
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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

Neu implementierte öffentliche Funktionen

virtual void copyValuesFrom(const Q3DObject &source) override

Signale

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)

Ausführliche Beschreibung

Q3DCamera stellt eine einfache 3D-Kamera dar, die sich um einen Mittelpunkt dreht und beim Rendern der Datenvisualisierung verwendet wird. Die Klasse bietet einfache Methoden zum Drehen der Kamera um den Ursprung und zum Festlegen des Zoomfaktors.

Dokumentation zu den Mitgliedstypen

enum Q3DCamera::CameraPreset

Vordefinierte Positionen für die Kamera.

KonstanteWertBeschreibung
Q3DCamera::CameraPresetNone-1Wird verwendet, um anzuzeigen, dass keine Voreinstellung festgelegt wurde oder die Szene frei gedreht wurde.
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::CameraPresetFrontBelow19In Q3DBars funktionieren ab „CameraPresetFrontBelow“ diese nur noch für Diagramme, die negative Werte enthalten. Bei ausschließlich positiven Werten verhalten sie sich wie „Preset...Low“.
Q3DCamera::CameraPresetLeftBelow20 
Q3DCamera::CameraPresetRightBelow21 
Q3DCamera::CameraPresetBehindBelow22 
Q3DCamera::CameraPresetDirectlyBelow23Verhält sich bei Balken, die ausschließlich positive Werte enthalten, wie „CameraPresetFrontLow“.

Dokumentation der Eigenschaften

cameraPreset : CameraPreset

Diese Eigenschaft enthält die derzeit aktive Kameravoreinstellung.

Ist kein Wert für „ CameraPreset “ festgelegt, wird standardmäßig „ CameraPresetNone “ verwendet.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void cameraPresetChanged(Q3DCamera::CameraPreset preset)

maxZoomLevel : float

Diese Eigenschaft gibt den maximal zulässigen Zoomfaktor der Kamera an.

Wird der Maximalwert auf einen neuen Wert gesetzt, der unter dem bestehenden Minimalwert liegt, wird auch der Minimalwert an den neuen Maximalwert angepasst. Liegt der aktuelle Wert „ zoomLevel “ außerhalb der neuen Grenzen, wird er ebenfalls angepasst. Der Standardwert ist „ 500.0f “.

Zugriffsfunktionen:

float maxZoomLevel() const
void setMaxZoomLevel(float zoomLevel)

Benachrichtigungssignal:

void maxZoomLevelChanged(float zoomLevel)

Siehe auch „ zoomLevel “ und „ minZoomLevel “.

minZoomLevel : float

Diese Eigenschaft gibt den minimal zulässigen Zoomfaktor der Kamera an.

Wird der Mindestwert auf einen neuen Wert gesetzt, der höher ist als der bestehende Höchstwert, wird auch der Höchstwert an den neuen Mindestwert angepasst. Liegt der aktuelle Wert „ zoomLevel “ außerhalb der neuen Grenzen, wird er ebenfalls angepasst. Der Wert „minZoomLevel“ kann nicht unter „ 1.0f “ gesetzt werden. Der Standardwert ist „ 10.0f “.

Zugriffsfunktionen:

float minZoomLevel() const
void setMinZoomLevel(float zoomLevel)

Notifier-Signal:

void minZoomLevelChanged(float zoomLevel)

Siehe auch „ zoomLevel “ und „ maxZoomLevel “.

[since QtDataVisualization 1.2] target : QVector3D

Diese Eigenschaft enthält das Kameraziel als Vektor oder Scheitelpunkt im 3D-Raum.

Der Standardwert ist QVector3D(0.0, 0.0, 0.0).

Gültige Koordinatenwerte liegen im Bereich von -1.0...1.0, wobei die Grenzwerte die Ränder des entsprechenden Achsenbereichs angeben. Alle Werte außerhalb dieses Bereichs werden auf den Rand begrenzt.

Hinweis: Bei Balkendiagrammen wird die Y-Koordinate ignoriert, und die Kamera zielt immer auf einen Punkt auf dem horizontalen Hintergrund.

Diese Aufzählung wurde in QtDataVisualization 1.2 eingeführt.

Zugriffsfunktionen:

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

Notifier-Signal:

void targetChanged(const QVector3D &target)

wrapXRotation : bool

Diese Eigenschaft legt das Verhalten der Minimal- und Maximalgrenzen bei der X-Drehung fest.

Bei der Einstellung „ true “ wird die X-Rotation der Kamera vom Minimalwert zum Maximalwert und vom Maximalwert zum Minimalwert umgeschaltet. Bei der Einstellung „ false “ ist die X-Rotation der Kamera auf den durch den Minimal- und Maximalwert bestimmten Bereich beschränkt. Standardmäßig ist „ true “ eingestellt.

Zugriffsfunktionen:

bool wrapXRotation() const
void setWrapXRotation(bool isEnabled)

Benachrichtigungssignal:

void wrapXRotationChanged(bool isEnabled)

wrapYRotation : bool

Diese Eigenschaft legt das Verhalten der Minimal- und Maximalgrenzen bei der Y-Drehung fest.

Wenn „ true “ festgelegt ist, wird die Y-Drehung der Kamera vom Minimalwert zum Maximalwert und vom Maximalwert zum Minimalwert umgeschaltet. Wenn „ false “ festgelegt ist, wird die Y-Drehung der Kamera auf den durch den Minimal- und Maximalwert bestimmten Bereich beschränkt. Standardmäßig ist „ true “ eingestellt.

Zugriffsfunktionen:

bool wrapYRotation() const
void setWrapYRotation(bool isEnabled)

Benachrichtigungssignal:

void wrapYRotationChanged(bool isEnabled)

xRotation : float

Diese Eigenschaft enthält den X-Drehwinkel der Kamera um den Zielpunkt in Grad.

Zugriffsfunktionen:

float xRotation() const
void setXRotation(float rotation)

Benachrichtigungssignal:

void xRotationChanged(float rotation)

yRotation : float

Diese Eigenschaft enthält den Y-Drehwinkel der Kamera um den Zielpunkt in Grad.

Zugriffsfunktionen:

float yRotation() const
void setYRotation(float rotation)

Benachrichtigungssignal:

void yRotationChanged(float rotation)

zoomLevel : float

Diese Eigenschaft gibt den Zoomfaktor der Kamera in Prozent an.

Der Standardwert „ 100.0f “ bedeutet, dass in der Kamera kein Vergrößerungs- oder Verkleinerungsfaktor eingestellt ist. Der Wert wird durch die Eigenschaften „ minZoomLevel “ und „ maxZoomLevel “ begrenzt.

Zugriffsfunktionen:

float zoomLevel() const
void setZoomLevel(float zoomLevel)

Benachrichtigungssignal:

void zoomLevelChanged(float zoomLevel)

Siehe auch „ minZoomLevel “ und „ maxZoomLevel “.

Dokumentation der Mitgliedsfunktionen

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

Erstellt eine neue 3D-Kamera, deren Position standardmäßig auf den Ursprung gesetzt ist, deren Blickrichtung zur Y-Achse zeigt und die standardmäßig auf den Ursprung ausgerichtet ist. Ein optionaler Parameter „ parent “ kann angegeben werden und wird dann an den Konstruktor von „ QObject “ übergeben.

[virtual noexcept] Q3DCamera::~Q3DCamera()

Löscht das Kameraobjekt.

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

Implementiert: ` Q3DObject::copyValuesFrom` (const Q3DObject &source).

Kopiert die Eigenschaften der 3D-Kamera von der angegebenen Quellkamera. Die Werte werden von „ source “ in dieses Objekt kopiert.

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

Hilfsfunktion zum Festlegen der Kameradrehungen und der Entfernung. Die Eigenschaften „horizontal “ und „ vertical “ definieren die zu verwendenden Kameradrehungen. Der optionale Parameter „ zoom “ kann angegeben werden, um den Zoom-Prozentsatz der Kamera innerhalb der durch die Eigenschaften „ minZoomLevel “ und „ maxZoomLevel “ definierten Grenzen festzulegen.

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