警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

创建一个传感器插件

传感器插件如何加载

由于传感器后端是按需创建的,传感器插件被加载并被要求注册其处理的传感器后端。插件应实现registerSensors()并调用registerBackend()来注册可用的后端。通常,插件还会继承QSensorBackendFactory并实现createBackend(),以便实例化其已注册的后端。

最简单的插件将只有一个传感器后端,尽管没有理由不能在插件中包含多个传感器后端。

以下是一个示例。

class MyPluginClass(QObject, QSensorPluginInterface, QSensorBackendFactory):

    Q_OBJECT
    #Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
    Q_INTERFACES(QSensorPluginInterface)
# public
    def registerSensors():

        QSensorManager.registerBackend(QAccelerometer.sensorType, MyBackend.id, self)

    QSensorBackend createBackend(QSensor sensor) override

        if sensor.identifier() == MyBackend.id:
            return MyBackend(sensor)
        return 0