Auf dieser Seite

So erstellen Sie Ihren eigenen Sensor

Das Modul „ Qt Sensors “ ermöglicht den Zugriff auf Sensorhardware über QML- und C++-Schnittstellen.

Die API wird unter Android, iOS und Windows (MSVC) unterstützt.

Erstellen eines eigenen Sensors mithilfe der C++-API

Die Verwendung der C++-API eines Qt-Moduls erfordert die Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten.

Erstellen eines Sensors

Um einen eigenen Sensor zu erstellen, können Sie die folgenden Schritte ausführen:

  • Erstellen Sie Ihre eigenen Klassen „MySensor“ und „MySensorReading“
    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;
      };
  • Erstellen Sie eine `MySensorBackend`-Klasse, indem Sie von QSensorBackend
  • Erstellen Sie die Factory-Klasse „MySensorBackendFactory“ zum Instanziieren dieses Backends, indem Sie eine Klasse davon ableiten QSensorBackendFactory
  • Registrieren Sie die Backend-Factory, indem Sie QSensorManager::registerBackend ("MySensorType", "MySensorId", &myfactory) aufrufen
  • Erstellen Sie eine Instanz des neuen „MySensor“ und nehmen Sie ihn in Betrieb

Alternativ können die Sensoren in ein Sensor-Plugin integriert werden, das Sie bei Bedarf nutzen können.

© 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.