QAccelerometer Class
Die Klasse „QAccelerometer“ ist ein Komfort-Wrapper für „ QSensor “. Mehr...
| Header: | #include <QAccelerometer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Sensors) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
| qmake: | QT += sensors |
| Erbt von: | 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) |
Ausführliche Beschreibung
Der einzige Unterschied im Verhalten besteht darin, dass diese Klasse den Typ korrekt festlegt.
Sie unterstützt zudem die Änderung des Beschleunigungsmodus, der steuert, ob die Schwerkraft in den Beschleunigungsmesserwerten berücksichtigt wird oder nicht.
Darüber hinaus verfügt diese Klasse über eine Funktion „ reading()“, die anstelle eines „ QSensorReading “ einen „ QAccelerometerReading “ zurückgibt.
Einzelheiten zur Funktionsweise des Sensors finden Sie unter „ QAccelerometerReading “.
Siehe auch „ QAccelerometerReading “.
Dokumentation zu Mitgliedstypen
enum QAccelerometer::AccelerationMode
Diese Enumeration stellt den Beschleunigungsmodus eines Beschleunigungssensors dar.
Der Beschleunigungsmodus bestimmt, 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 Näherungswerte.
| Konstante | Wert | Beschreibung |
|---|---|---|
QAccelerometer::Combined | 0 | Sowohl die durch die Schwerkraft verursachte Beschleunigung als auch die durch die Bewegung des Geräts durch den Benutzer verursachte Beschleunigung werden kombiniert gemeldet. |
QAccelerometer::Gravity | 1 | Es wird ausschließlich die durch die Schwerkraft verursachte Beschleunigung gemeldet. Vom Benutzer verursachte Bewegungen des Geräts haben keinen anderen Effekt als eine Richtungsänderung, wenn das Gerät gedreht wird. |
QAccelerometer::User | 2 | Es wird ausschließlich die durch die Bewegung des Geräts durch den Benutzer verursachte Beschleunigung gemeldet; der Einfluss der Schwerkraft wird ausgeblendet. Ein Gerät im Ruhezustand sollte daher Werte von Null oder nahe Null melden. In anderen APIs wird dieser Modus möglicherweise als „lineare Beschleunigung“ bezeichnet. |
Siehe auch QAccelerometer::accelerationMode.
Dokumentation zur Eigenschaft
accelerationMode : AccelerationMode
Diese Eigenschaft legt fest, wie der Beschleunigungsmodus die Meldung der Beschleunigungswerte steuert.
Der Beschleunigungsmodus bestimmt, 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.
Eine durch die Schwerkraft verursachte Beschleunigung und eine durch die Bewegung des Geräts durch den Benutzer verursachte Beschleunigung lassen sich aufgrund der allgemeinen Relativitätstheorie physikalisch nicht voneinander unterscheiden. Die meisten Geräte nutzen Sensorfusion, um zu ermitteln, welcher Anteil der Beschleunigung durch die Schwerkraft verursacht wird, beispielsweise durch Verwendung eines Rotationssensors zur Berechnung der Schwerkraftrichtung und unter der Annahme einer festen Stärke der Schwerkraft. Daher ist das Ergebnis nur eine Annäherung und kann ungenau sein. Der Modus „ QAccelerometer::Combined “ ist der genaueste, da er keine Annäherung an die Schwerkraft beinhaltet.
Möglicherweise unterstützen nicht alle Backends und Geräte 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) |
Notifier-Signal:
| void | accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode) |
Dokumentation der Mitgliedsfunktionen
[explicit] QAccelerometer::QAccelerometer(QObject *parent = nullptr)
Erstellen Sie den Sensor als untergeordnetes Element von „ parent “.
[virtual noexcept] QAccelerometer::~QAccelerometer()
Den Sensor zerstören. Stoppt den Sensor, falls er nicht bereits gestoppt wurde.
[signal] void QAccelerometer::accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)
Wird ausgelöst, wenn die Eigenschaft „ accelerationMode “ geändert wurde.
Hinweis: Benachrichtigungssignal für die Eigenschaft „ accelerationMode “.
QAccelerometerReading *QAccelerometer::reading() const
Gibt die Messklasse für diesen Sensor zurück.
Siehe auch „ QSensor::reading()“.
void QAccelerometer::setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)
Stellt den Beschleunigungsmodus auf „ accelerationMode “ ein.
Hinweis: Setter -Funktion für die Eigenschaft „ accelerationMode “.
Siehe auch „ accelerationMode()“.
© 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.