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
- accelerationMode : AccelerationMode
Ö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.
Konstante | Wert | Beschreibung |
---|---|---|
QAccelerometer::Combined | 0 | Sowohl die durch die Schwerkraft verursachte Beschleunigung als auch die durch die Bewegung des Benutzers verursachte Beschleunigung werden kombiniert gemeldet. |
QAccelerometer::Gravity | 1 | Es 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::User | 2 | Es 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.