Création d'un plugin de capteur
Comment un plugin de capteur est-il chargé ?
Comme les backends de capteurs sont créés à la demande, le plugin de capteur est chargé et invité à enregistrer les backends de capteurs qu'il gère. Le plugin doit implémenter QSensorPluginInterface::registerSensors() et appeler QSensorManager::registerBackend() pour enregistrer les backends disponibles. Généralement, le plugin hérite également de QSensorBackendFactory et implémente QSensorBackendFactory::createBackend() afin d'instancier les backends qu'il a enregistrés.
Le plugin le plus simple n'aura qu'un seul backend de capteur, bien qu'il n'y ait aucune raison pour que plusieurs backends de capteurs ne soient pas présents dans un plugin.
Voici un exemple.
class MyPluginClass : public QObject, public QSensorPluginInterface, public QSensorBackendFactory { Q_OBJECT //Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json") Q_INTERFACES(QSensorPluginInterface) public: void registerSensors() override { QSensorManager::registerBackend(QAccelerometer::sensorType, MyBackend::id, this); } QSensorBackend *createBackend(QSensor *sensor) override { if (sensor->identifier() == MyBackend::id) return new MyBackend(sensor); return 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.