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 } |
属性
- accelerationMode : AccelerationMode
公共函数
| 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::Combined | 0 | 由重力引起的加速度和由用户移动设备引起的加速度将合并报告。 |
QAccelerometer::Gravity | 1 | 仅报告由重力引起的加速度。用户移动设备所引起的运动除了在设备旋转时改变方向外,不会产生其他影响。 |
QAccelerometer::User | 2 | 仅报告由用户移动设备引起的加速度,重力影响被抵消。因此,静止的设备应报告值为零或接近零的数值。在其他 API 中,此模式可能被称为线性加速度。 |
属性文档
accelerationMode : AccelerationMode
此属性控制加速度模式,即加速度值的报告方式。
加速度模式控制加速度传感器报告其值的方式。默认模式为“QAccelerometer::Combined ”,这意味着报告的值中包含由重力引起的加速度。
根据广义相对论,由重力引起的加速度与用户移动设备引起的加速度在物理上无法区分。 大多数设备使用传感器融合来确定加速度中哪些部分是由重力引起的,例如通过旋转传感器计算重力方向,并假设重力大小是固定的。因此,结果仅为近似值,可能不准确。QAccelerometer::Combined 模式是最准确的,因为它不涉及对重力的近似。
并非所有后端和设备都支持设置加速度模式。在这些情况下,将使用默认模式QAccelerometer::Combined ,更改该设置不会产生任何效果。
访问函数:
| QAccelerometer::AccelerationMode | accelerationMode() const |
| void | setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode) |
通知器信号:
| 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()。
© 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.