QSensorManager Class

QSensorManager 类处理传感器后端的注册和创建。更多

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

静态公共成员

QSensorBackend *createBackend(QSensor *sensor)
bool isBackendRegistered(const QByteArray &type, const QByteArray &identifier)
void registerBackend(const QByteArray &type, const QByteArray &identifier, QSensorBackendFactory *factory)
void setDefaultBackend(const QByteArray &type, const QByteArray &identifier)
void unregisterBackend(const QByteArray &type, const QByteArray &identifier)

详细说明

传感器插件使用registerBackend() 函数注册后端。

调用QSensor::connectToBackend() 时,将调用createBackend() 函数。

成员函数文档

[static] QSensorBackend *QSensorManager::createBackend(QSensor *sensor)

sensor 创建后端。如果没有合适的后端,则返回 null。

[static] bool QSensorManager::isBackendRegistered(const QByteArray &type, const QByteArray &identifier)

如果typeidentifier 标识的后端已注册,则返回 true。

这是一个方便的方法,可帮助插件进行动态注册。

[static] void QSensorManager::registerBackend(const QByteArray &type, const QByteArray &identifier, QSensorBackendFactory *factory)

type 注册传感器。identifier 必须是唯一的。

factory 将被要求创建后台实例。

如果找到其他传感器,以genericdummy 开头的传感器标识符在选择默认传感器时优先级较低。

[static] void QSensorManager::setDefaultBackend(const QByteArray &type, const QByteArray &identifier)

用后台identifier 设置或覆盖传感器type

[static] void QSensorManager::unregisterBackend(const QByteArray &type, const QByteArray &identifier)

通过identifier 取消注册type 的后端。

请注意,这只会阻止创建新的后端实例。它不会使现有的后端实例失效。后端代码应自行处理底层硬件的消失。

© 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.