Erstellen eines Sensor-Plugins
So wird ein Sensor-Plugin geladen
Da Sensor-Backends bei Bedarf erstellt werden, wird das Sensor-Plugin geladen und aufgefordert, die von ihm verwalteten Sensor-Backends zu registrieren. Das Plugin sollte die Methode ` QSensorPluginInterface::registerSensors()` implementieren und ` QSensorManager::registerBackend()` aufrufen, um verfügbare Backends zu registrieren. In der Regel erbt das Plugin außerdem von der Klasse ` QSensorBackendFactory ` und implementiert die Methode ` QSensorBackendFactory::createBackend()`, um die von ihm registrierten Backends zu instanziieren.
Das einfachste Plugin verfügt nur über ein einziges Sensor-Backend, obwohl es keinen Grund gibt, warum ein Plugin nicht mehrere Sensor-Backends enthalten könnte.
Es folgt ein Beispiel.
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.