QAccelerometer Class

Die Klasse QAccelerometer ist eine komfortable Hülle für QSensor. Mehr...

Kopfzeile: #include <QAccelerometer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
Vererbt: QSensor

Öffentliche Typen

enum AccelerationMode { Combined, Gravity, User }

Eigenschaften

Öffentliche Funktionen

QAccelerometer(QObject *parent = nullptr)
virtual ~QAccelerometer()
QAccelerometer::AccelerationMode accelerationMode() const
QAccelerometerReading *reading() const
void setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)

Signale

void accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

Detaillierte Beschreibung

Der einzige Unterschied im Verhalten besteht darin, dass diese Klasse den Typ richtig setzt.

Sie unterstützt auch die Änderung des Beschleunigungsmodus, der steuert, ob die Schwerkraft in den Beschleunigungsmesswerten enthalten ist oder nicht.

Außerdem verfügt diese Klasse über eine reading()-Funktion, die eine QAccelerometerReading anstelle einer QSensorReading zurückgibt.

Einzelheiten über die Funktionsweise des Sensors finden Sie unter QAccelerometerReading.

Siehe auch QAccelerometerReading.

Dokumentation der Mitgliedstypen

enum QAccelerometer::AccelerationMode

Diese Aufzählung stellt den Beschleunigungsmodus eines Beschleunigungssensors dar.

Der Beschleunigungsmodus steuert, wie der Sensor die Beschleunigung meldet. QAccelerometer::Combined ist der einzige Modus, in dem die Werte direkt physikalisch gemessen werden können, die anderen sind eine Annäherung.

KonstanteWertBeschreibung
QAccelerometer::Combined0Sowohl die durch die Schwerkraft verursachte Beschleunigung als auch die durch die Bewegung des Benutzers verursachte Beschleunigung werden kombiniert gemeldet.
QAccelerometer::Gravity1Es wird nur die durch die Schwerkraft verursachte Beschleunigung gemeldet. Vom Benutzer verursachte Bewegungen des Geräts haben keine andere Wirkung als die Änderung der Richtung, wenn das Gerät gedreht wird.
QAccelerometer::User2Es wird nur die durch die Bewegung des Geräts durch den Benutzer verursachte Beschleunigung gemeldet, die Wirkung der Schwerkraft wird annulliert. Ein Gerät im Ruhezustand sollte daher Werte von oder nahe Null melden. In anderen APIs könnte dieser Modus als lineare Beschleunigung bezeichnet werden.

Siehe auch QAccelerometer::accelerationMode.

Dokumentation der Eigenschaft

accelerationMode : AccelerationMode

Diese Eigenschaft enthält den Beschleunigungsmodus, der steuert, wie die Beschleunigungswerte gemeldet werden.

Der Beschleunigungsmodus steuert, wie der Beschleunigungssensor seine Werte meldet. Der Standardmodus ist QAccelerometer::Combined, was bedeutet, dass die durch die Schwerkraft verursachte Beschleunigung in den gemeldeten Werten enthalten ist.

Die durch die Schwerkraft verursachte Beschleunigung und die durch die Bewegung des Benutzers verursachte Beschleunigung sind aufgrund der allgemeinen Relativitätstheorie physikalisch nicht zu unterscheiden. Die meisten Geräte verwenden eine Sensorfusion, um herauszufinden, welcher Teil der Beschleunigung durch die Schwerkraft verursacht wird, z. B. durch Verwendung eines Rotationssensors zur Berechnung der Schwerkraftrichtung und unter der Annahme einer festen Größe für die Schwerkraft. Daher ist das Ergebnis nur ein Näherungswert und kann ungenau sein. Der Modus QAccelerometer::Combined ist der genaueste, da er keine Annäherung an die Schwerkraft beinhaltet.

Nicht alle Backends und Geräte unterstützen möglicherweise die Einstellung des Beschleunigungsmodus. In diesen Fällen wird der Standardmodus QAccelerometer::Combined verwendet, eine Änderung hat keine Auswirkungen.

Zugriffsfunktionen:

QAccelerometer::AccelerationMode accelerationMode() const
void setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)

Benachrichtigungssignal:

void accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

Member Function Dokumentation

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

Konstruieren Sie den Sensor als ein Kind von parent.

[virtual noexcept] QAccelerometer::~QAccelerometer()

Zerstört den Sensor. Stoppt den Sensor, wenn er nicht bereits gestoppt wurde.

[signal] void QAccelerometer::accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

Wird gesendet, wenn die accelerationMode geändert wurde.

Hinweis: Meldesignal für die Eigenschaft accelerationMode.

QAccelerometerReading *QAccelerometer::reading() const

Gibt die Leseklasse für diesen Sensor zurück.

Siehe auch QSensor::reading().

void QAccelerometer::setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)

Setzt den Beschleunigungsmodus auf accelerationMode.

Hinweis: Setter-Funktion für die Eigenschaft accelerationMode.

Siehe auch accelerationMode().

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