- Qt 6.6
- Qt Sensors
- How to create your own Sensor
- Qt 6.6.2 Reference Documentation

# How to create your own Sensor

The Qt Sensors module provides access to sensor hardware via QML and C++ interfaces.

The API is supported on Android, iOS, and Windows (MSVC).

## Creating your own sensor using C++ API

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies.

### Creating a sensor

To create your own sensor you can use the following steps:

- Create your own MySensor and MySensorReading classes

       class MyReadingPrivate;

       class MyReading : public QSensorReading
         {
           Q_OBJECT
           Q_PROPERTY(qreal myprop READ myprop)
           DECLARE_READING(MyReading)
       public:
           qreal myprop() const;
           void setMyprop(qreal myprop);
         };

       class MySensor : public QSensor
       {
           Q_OBJECT
       public:
           explicit MySensor(QObject *parent = 0);
           MyReading *reading() const;
           static char const * const sensorType;
         };

- Create a MySensorBackend by inheriting from QSensorBackend
- Create MySensorBackendFactory factory class for instantiating that backend by inheriting a class QSensorBackendFactory
- Register the backend factory by calling QSensorManager::registerBackend ("MySensorType", "MySensorId", &myfactory)
- Instantiate the new MySensor and start using it

As an another option the sensors are put into a Creating a sensor plugin that you can use on demand.