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
字段会屏蔽基类QSensor的type
()方法,导致不必要的编译错误和相应的解决方案。现在将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. 在芬兰及/或其他国家的商标。所有其他商标属于它们各自的所有者。