Qt传感器更改

Qt 6是我们为了使框架更高效、更易于使用而做出的有意识努力的成果。

我们试图在每个版本中保持所有公共API的二进制和源兼容性。但是,为了使Qt成为一个更好的框架,一些更改是不可避免的。

在本主题中,我们总结了Qt传感器中的这些更改,并提供了解决这些更改的指南。

传感器手势支持

手势支持已被移除。根据当前形态,需要对手势进行重新思考,使其对开发者更有用。有关跟踪信息,请参阅QTBUG-95649

平台说明

Windows

在Windows上,MSVC构建的Qt安装支持传感器。

sensorfw

sensorfw尚未移植到Qt 6,因此目前尚未由Qt 6中的传感器支持。

TI传感器标签

对TI传感器标签的支持已移除。

已移除的传感器

QAltimeter、QDistanceSensor、QHolsterSensor以及它们的QML对应物不再有后端实现,因此已被移除。

QIRProximitySensor、QLidSensor和QTapSensor只有一个sensorfw后端,因此目前未列为支持传感器类型。

Linux

Linux sysfs加速度计支持已被移除。后端未经文档化,并且近10年来没有任何实际活动。

API更改

删除了qtimestamp类型定义

已删除历史版本的QtMobility-era类型定义qtimestamp。直接使用实际类型quint64

sensor类型字符串重命名为sensorType

QSensor的子类实现了一个char const*字符串,该字符串定义了标识基本传感器的字符串。此静态type字段会屏蔽基类QSensortype()方法,导致不必要的编译错误和相应的解决方案。现在将type字符串重命名为sensorType

将LidReading::backLidChanged属性重命名为backLidClosed

属性名现在与同一QML类型的 frontLidClosed 属性对齐。

向 QSensorBackend::sensorBusy() 添加了一个参数,以便也能够清除

忙碌状态

属性 QSensor::busy 和其访问器 QSensor::isBusy() 可以用来检查传感器是忙碌还是空闲。为了使这个属性更好地反映传感器后端的当前状态,QSensorBackend::sensorBusy() 现在接受一个布尔参数。这个 busy 参数用于设置/取消设置后端忙碌状态,并通知附加到的 QSensor 接口。

QSensorBackend::sensorBusy() 参数的默认值是 true,这保留了原有的行为(除了添加的信号发射)。这意味着在大多数情况下,更改不是必需的。相反,它取决于各个传感器后端实现是否认为这些更改有用。

将 Sensor::type 和 QSensor::type 属性标记为常量

属性 type 在实例化后不能改变,并在 C++ 和 QML 中都被标记为常量。

© 2024 The Qt Company Ltd. 本文档所包含的文档贡献的版权属于其各自的所有者。在此提供的文档是根据自由软件基金会发布的 GNU自由文档许可版本1.3 的条款提供的。Qt 和相关标志是 The Qt Company Ltd. 在芬兰及/或其他国家的商标。所有其他商标属于它们各自的所有者。