如何创建自己的传感器

The Qt Sensors 模块提供了通过 QML 和 C++ 接口访问传感器硬件的方法。

API 支持在 AndroidiOSWindows (MSVC) 上。

使用 C++ API 创建自己的传感器

使用 Qt 模块的 C++ API 需要链接到模块库,可以是直接链接或通过其他依赖项链接。

创建传感器

创建自己的传感器可以按照以下步骤进行

  • 创建自己的 MySensor 和 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;
      };
  • 通过继承 QSensorBackend 创建 MySensorBackend
  • 创建 MySensorBackendFactory 工厂类以通过继承 QSensorBackendFactory 实例化该后端
  • 通过调用 QSensorManager::registerBackend ("MySensorType", "MySensorId", &myfactory) 注册后端工厂
  • 实例化新的 MySensor 并开始使用它

作为另一个选项,可以将传感器放入 创建传感器插件 中,按需使用。

© 2024 The Qt Company Ltd. 本文档中包含的贡献是各自所有者的版权。所提供的文档是根据 Free Software Foundation 发布的 GNU 自由文档许可证 1.3 版本 的条款许可的。Qt 和相关标志是芬兰 The Qt Company Ltd. 和/或世界其他地区的商标。所有其他商标均为其各自所有者的财产。