QAccelerometer Class

QAccelerometer 类是QSensor 的方便封装。更多

头文件: #include <QAccelerometer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
继承: QSensor

公共类型

enum AccelerationMode { Combined, Gravity, User }

属性

公共功能

QAccelerometer(QObject *parent = 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

成员类型文档

enum QAccelerometer::AccelerationMode

该枚举表示加速度传感器的加速度模式。

加速度模式控制传感器如何报告加速度。QAccelerometer::Combined是唯一一种可以直接测量物理值的模式,其他模式都是近似值。

常数说明
QAccelerometer::Combined0合并报告重力加速度和用户移动设备时产生的加速度。
QAccelerometer::Gravity1仅报告重力加速度。用户移动设备除了在设备旋转时改变方向外没有其他影响。
QAccelerometer::User2只报告用户移动设备时产生的加速度,而不报告重力的影响。因此,处于静止状态的设备应报告为零或接近零的值。在其他 API 中,这种模式可能被称为线性加速度

另请参阅 QAccelerometer::accelerationMode

属性文档

accelerationMode : AccelerationMode

该属性包含加速度模式,控制如何报告加速度值。

加速度模式控制加速度传感器如何报告其值。默认模式为QAccelerometer::Combined ,这意味着重力加速度包含在报告值中。

由于广义相对论,重力加速度和用户移动设备所产生的加速度在物理上是无法区分的。大多数设备使用传感器融合来计算加速度中哪些部分是由重力引起的,例如使用旋转传感器来计算重力方向,并假设重力的大小是固定的。因此,结果只是一个近似值,可能并不准确。QAccelerometer::Combined 模式是最精确的模式,因为它不涉及重力近似。

并非所有后端和设备都支持设置加速度模式。在这种情况下,将使用默认模式QAccelerometer::Combined ,更改该模式不会有任何影响。

访问功能:

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

Notifier 信号:

void accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

成员函数 文档

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

将传感器构建为parent 的子节点。

[virtual noexcept] QAccelerometer::~QAccelerometer()

销毁传感器。如果传感器尚未停止,则将其停止。

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

accelerationMode 更改时发出。

注: 属性accelerationMode 的通知信号。

QAccelerometerReading *QAccelerometer::reading() const

返回此传感器的读数类别。

另请参阅 QSensor::reading()。

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

将加速模式设置为accelerationMode

注: 属性accelerationMode 的设置函数。

另请参阅 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.