Auf dieser Seite

Qt3DExtras::QAbstractCameraController Class

class Qt3DExtras::QAbstractCameraController

Die Klasse „QAbstractCameraController“ bietet grundlegende Funktionen für Kamerasteuerungen. Mehr...

Header: #include <qabstractcameracontroller.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dextras)
target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
Erbt von: Qt3DCore::QEntity
Vererbt an:

Qt3DExtras::QFirstPersonCameraController und Qt3DExtras::QOrbitCameraController

Status: Veraltet

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

Eigenschaften

Öffentliche Funktionen

float acceleration() const
Qt3DRender::QCamera *camera() const
float deceleration() const
float linearSpeed() const
float lookSpeed() const
void setAcceleration(float acceleration)
void setCamera(Qt3DRender::QCamera *camera)
void setDeceleration(float deceleration)
void setLinearSpeed(float linearSpeed)
void setLookSpeed(float lookSpeed)

Signale

void accelerationChanged(float acceleration)
void cameraChanged()
void decelerationChanged(float deceleration)
void linearSpeedChanged()
void lookSpeedChanged()

Geschützte Funktionen

Qt3DInput::QKeyboardDevice *keyboardDevice() const
Qt3DInput::QMouseDevice *mouseDevice() const

Private Funktionen

virtual void moveCamera(const Qt3DExtras::QAbstractCameraController::InputState &state, float dt) = 0

Ausführliche Beschreibung

QAbstractCameraController richtet die Eingabe über Tastatur, Maus und andere Geräte ein und verarbeitet diese. QAbstractCameraController ist eine abstrakte Klasse und kann selbst nicht instanziiert werden. Sie stellt eine Standardschnittstelle für Kamerasteuerungen bereit.

Dokumentation zu den Eigenschaften

acceleration : float

Enthält die aktuelle Beschleunigung des Kameracontrollers.

Zugriffsfunktionen:

float acceleration() const
void setAcceleration(float acceleration)

Benachrichtigungssignal:

void accelerationChanged(float acceleration)

camera : Qt3DRender::QCamera*

Enthält die aktuell gesteuerte Kamera.

Zugriffsfunktionen:

Qt3DRender::QCamera *camera() const
void setCamera(Qt3DRender::QCamera *camera)

Benachrichtigungssignal:

void cameraChanged()

deceleration : float

Enthält die aktuelle Verzögerung des Kamerasteuerungsmoduls.

Zugriffsfunktionen:

float deceleration() const
void setDeceleration(float deceleration)

Benachrichtigungssignal:

void decelerationChanged(float deceleration)

linearSpeed : float

Enthält die aktuelle lineare Geschwindigkeit des Kameracontrollers. Die lineare Geschwindigkeit bestimmt die Bewegungsgeschwindigkeit der Kamera.

Der Standardwert ist „ 10.0 “.

Zugriffsfunktionen:

float linearSpeed() const
void setLinearSpeed(float linearSpeed)

Benachrichtigungssignal:

void linearSpeedChanged()

lookSpeed : float

Enthält die aktuelle Blickgeschwindigkeit des Kameracontrollers. Die Blickgeschwindigkeit bestimmt die Drehgeschwindigkeit der Kamera bei Schwenk- und Neigebewegungen.

Der Standardwert ist „ 180.0 “.

Zugriffsfunktionen:

float lookSpeed() const
void setLookSpeed(float lookSpeed)

Benachrichtigungssignal:

void lookSpeedChanged()

Dokumentation der Mitgliedsfunktionen

[protected] Qt3DInput::QKeyboardDevice *QAbstractCameraController::keyboardDevice() const

Ermöglicht den Zugriff auf die Tastatur.

[protected] Qt3DInput::QMouseDevice *QAbstractCameraController::mouseDevice() const

Bietet Zugriff auf das Mausgerät.

[pure virtual private] void QAbstractCameraController::moveCamera(const Qt3DExtras::QAbstractCameraController::InputState &state, float dt)

Unterklassen müssen diese Methode überschreiben, um die für den Controller spezifische Kamerabewegung zu implementieren. ` state ` stellt den Eingabezustand dar, und ` dt ` ist der Zeitschritt.

Diese Funktion wird immer dann aufgerufen, wenn eine Frame-Aktion ausgelöst wird.

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