QSensorFilter Class
QSensorFilter 类提供了一种高效的回调机制,用于传感器变化的异步通知。更多内容...
| 头文件: | #include <QSensorFilter> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Sensors) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
| qmake: | QT += sensors |
| 被继承类: |
公共函数
| virtual bool | filter(QSensorReading *reading) = 0 |
受保护函数
| virtual | ~QSensorFilter() |
详细说明
某些传感器(例如加速度计)通常会被频繁访问。使用信号和插槽可能会导致访问速度变慢。QSensorFilter 接口提供了一种更高效的方式,让传感器能够通知您的类传感器已发生变化。
此外,可以向一个传感器添加多个过滤器。这些过滤器将按顺序被调用,每个过滤器都有选项来修改读取值,或者完全抑制该读取。
请注意,QSensor::reading() 返回的类中的值,只有在所有过滤器运行完毕后才会更新。
另请参阅 filter()。
成员函数文档
[virtual noexcept protected] QSensorFilter::~QSensorFilter()
通知已连接的传感器(如有)滤波器正在被销毁。
[pure virtual] bool QSensorFilter::filter(QSensorReading *reading)
当传感器reading 发生变化时,会调用此函数。
该过滤器可以修改读数。
返回 true 以允许下一个过滤器接收该值。如果这是最后一个过滤器,返回 true 将导致信号被发出,并且该值将存储在传感器中。
返回 false 以丢弃该读数。
© 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.