Класс QAccelerometer
Класс QAccelerometer — это удобная обертка над классом QSensor. Подробнее...
| Заголовок: | #include <QAccelerometer> |
| qmake: | QT += sensors |
| С тех пор: | Qt 5.1 |
| Наследуется от: | QSensor |
Этот класс был представлен в Qt 5.1.
Открытые типы
| перечисление | AccelerationMode { Combined, Gravity, User } |
Свойства
- accelerationMode : AccelerationMode
Открытые функции
| QAccelerometer(QObject *parent = Q_NULLPTR) | |
| virtual | ~QAccelerometer() |
| QAccelerometer::AccelerationMode | accelerationMode() const |
| QAccelerometerReading * | reading() const |
| void | setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode) |
Сигналы
| void | accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode) |
Подробное описание
Единственное поведенческое различие заключается в том, что этот класс корректно устанавливает тип.
Он также поддерживает изменение режима ускорения, которое контролирует, включать ли силу тяжести в значения акселерометра или нет.
Кроме того, этот класс имеет функцию reading(), которая возвращает QAccelerometerReading вместо QSensorReading.
Подробности о работе датчика см. в QAccelerometerReading.
См. также QAccelerometerReading.
Документация по типам членов
перечисление QAccelerometer::AccelerationMode
Это перечисление представляет режим ускорения датчика ускорения.
Режим ускорения контролирует, как датчик сообщает об ускорении. QAccelerometer::Combined — единственный режим, в котором значения можно непосредственно физически измерить, другие — приблизительные.
| Константа | Значение | Описание |
|---|---|---|
QAccelerometer::Combined |
0 |
Совместно сообщаются ускорение, вызванное силой тяжести, и ускорение, вызванное перемещением устройства пользователем. |
QAccelerometer::Gravity |
1 |
Сообщается только ускорение, вызванное силой тяжести. Перемещения устройства, вызванные пользователем, не влияют на него, кроме изменения направления при повороте устройства. |
QAccelerometer::User |
2 |
Сообщается только ускорение, вызванное перемещением устройства пользователем, эффект силы тяжести исключается. В состоянии покоя устройство должно сообщать значения, близкие к нулю. В других API этот режим может быть известен как *линейное ускорение*. |
Это перечисление было представлено или изменено в Qt 5.1.
См. также QAccelerometer::accelerationMode.
Документация по свойству
accelerationMode : AccelerationMode
Это свойство содержит режим ускорения, который управляет тем, как сообщаются значения ускорения.
Режим ускорения контролирует, как датчик ускорения сообщает свои значения. По умолчанию используется режим QAccelerometer::Combined, что означает, что ускорение, вызванное силой тяжести, включено в отдаваемые значения.
Физически невозможно отличить ускорение, вызванное силой тяжести, от ускорения, вызванного движением устройства пользователем, из-за общей теории относительности. Большинство устройств используют слияние датчиков, чтобы определить, какая часть ускорения вызвана гравитацией, например, используя датчик вращения для расчета направления гравитации и предполагая фиксированное значение гравитации. Поэтому результат является лишь приближением и может быть неточным. Режим QAccelerometer::Combined является наиболее точным, так как он не предполагает приближения гравитации.
Возможно, не все бэкэнды и устройства поддерживают установку режима ускорения. В таких случаях используется режим по умолчанию QAccelerometer::Combined, изменение его не оказывает влияния.
Это свойство было представлено в Qt 5.1.
Функции доступа:
| QAccelerometer::AccelerationMode | accelerationMode() const |
| void | setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode) |
Сигнал уведомления:
| void | accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode) |
Документация по функциям членов
QAccelerometer::QAccelerometer(QObject *parent = Q_NULLPTR)
Создаёт датчик как дочерний элемент parent.
[signal] void QAccelerometer::accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)
Выдаётся при изменении accelerationMode.
Эта функция была представлена в Qt 5.1.
Примечание: Сигнал уведомления для свойства accelerationMode.
[virtual] QAccelerometer::~QAccelerometer()
Удаляет датчик. Останавливает датчик, если он не был остановлен.
QAccelerometerReading *QAccelerometer::reading() const
Возвращает класс считывания для этого датчика.
См. также QSensor::reading().
void QAccelerometer::setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)
Устанавливает режим ускорения на accelerationMode.
Эта функция была представлена в Qt 5.1.
Примечание: Функция-установщик для свойства accelerationMode.
См. также accelerationMode().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qaccelerometer.html