Création d'un plugin de capteur
Comment un plugin de capteur est 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 la méthode QSensorPluginInterface::registerSensors() et appeler QSensorManager::registerBackend() pour enregistrer les backends disponibles. En général, le plugin héritera également de la classe QSensorBackendFactory et implémentera la méthode QSensorBackendFactory::createBackend() afin d’instancier les backends qu’il a enregistrés.
Le plugin le plus simple ne comportera qu’un seul backend de capteur, bien qu’il n’y ait aucune raison pour qu’un plugin ne puisse pas contenir plusieurs backends de capteurs.
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.