QSensorFilter Class
Die Klasse QSensorFilter bietet eine effiziente Callback-Funktion für asynchrone Benachrichtigungen über Sensoränderungen. Mehr...
Kopfzeile: | #include <QSensorFilter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sensors) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
qmake: | QT += sensors |
Vererbt von: |
Öffentliche Funktionen
virtual bool | filter(QSensorReading *reading) = 0 |
Geschützte Funktionen
virtual | ~QSensorFilter() |
Detaillierte Beschreibung
Auf einige Sensoren (z.B. den Beschleunigungssensor) wird oft sehr häufig zugegriffen. Dies kann durch die Verwendung von Signalen und Slots verlangsamt werden. Die Schnittstelle QSensorFilter bietet eine effizientere Möglichkeit für den Sensor, Ihre Klasse darüber zu informieren, dass sich der Sensor geändert hat.
Außerdem können mehrere Filter zu einem Sensor hinzugefügt werden. Sie werden der Reihe nach aufgerufen, und jeder Filter hat die Möglichkeit, die Werte im Messwert zu ändern oder den Messwert ganz zu unterdrücken.
Beachten Sie, dass die Werte in der Klasse, die von QSensor::reading() zurückgegeben wird, erst aktualisiert werden, nachdem die Filter ausgeführt worden sind.
Siehe auch filter().
Dokumentation der Mitgliedsfunktionen
[virtual noexcept protected]
QSensorFilter::~QSensorFilter()
Benachrichtigt den angeschlossenen Sensor (falls vorhanden), dass der Filter zerstört wird.
[pure virtual]
bool QSensorFilter::filter(QSensorReading *reading)
Diese Funktion wird aufgerufen, wenn sich der Sensor reading ändert.
Der Filter kann den Messwert ändern.
Gibt true zurück, damit der nächste Filter den Wert empfangen kann. Wenn dies der letzte Filter ist, wird bei der Rückgabe von true das Signal ausgegeben und der Wert im Sensor gespeichert.
Gibt false zurück, um den Messwert zu verwerfen.
© 2025 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.