动态传感器后端注册
静态后端注册
传感器后端通常采用静态注册方式。注册操作在首次使用传感器库时进行,且在程序运行期间注册状态始终有效。

静态注册的后端仍可能表现出某些动态行为,因为QSensorBackendFactory 可以返回0来表示无法创建后端。
动态后端注册
虽然静态注册对大多数后端来说没问题,但在某些情况下会带来麻烦。
最明显的例子是代表非固定硬件的后端。 例如,通过蓝牙连接的游戏手柄。由于手机信号范围内可能存在多个游戏手柄,程序需要记录应使用特定的游戏手柄。如果后端是静态注册的,则不会有关于该手柄的唯一信息。相反,注册会被延迟,直到检测到该手柄为止。

建议的注册策略
针对固定硬件的后端应立即注册。应用程序可知该传感器可用。
远程硬件的后端不应立即注册。应用程序会发现该传感器无法使用。当远程硬件可用时,应注册该后端。应用程序会发现该传感器现已可用。
如果需要通过工厂方法为已注册的后端返回 0,则应注销该后端。应用程序将得知该传感器已不可用。如果工厂能重新创建该后端,则应重新注册它。应用程序将得知该传感器再次可用。
当底层硬件不再可用时,应注销后端。后端的现有实例应向应用程序报告错误状态,但应优雅地处理该情况。
© 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.