Auf dieser Seite

QSensorReading Class

Die Klasse „QSensorReading“ enthält die Messwerte des Sensors. Mehr...

Header: #include <QSensorReading>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
Erbt von: QObject
Vererbt an:
13 Typen

QAccelerometerReading, QAmbientLightReading, QAmbientTemperatureReading, QCompassReading, QGyroscopeReading, QHumidityReading, QLightReading, QMagnetometerReading, QOrientationReading, QPressureReading, QProximityReading, QRotationReading sowie QTiltReading

Eigenschaften

Öffentliche Funktionen

void setTimestamp(quint64 timestamp)
quint64 timestamp() const
QVariant value(int index) const
int valueCount() const

Makros

DECLARE_READING(classname)
IMPLEMENT_READING(classname)

Ausführliche Beschreibung

Beachten Sie, dass QSensorReading für sich genommen nicht besonders nützlich ist. Die relevanten Daten für jeden Sensor werden in einer Unterklasse von QSensorReading definiert.

Dokumentation der Eigenschaften

[read-only] timestamp : quint64

Diese Eigenschaft enthält den Zeitstempel des Messwerts.

Zeitstempelwerte werden in Mikrosekunden ab einem festen Bezugspunkt angegeben. Anhand der Zeitstempel können Sie erkennen, wie weit zwei Sensorwerte voneinander entfernt sind.

Beachten Sie, dass Zeitstempel verschiedener Sensoren möglicherweise nicht direkt miteinander vergleichbar sind (da sie möglicherweise unterschiedliche Festpunkte als Referenz verwenden).

Beachten Sie, dass einige Plattformen Zeitstempel nicht korrekt liefern. Anwendungen sollten auf gelegentliche Probleme vorbereitet sein, die dazu führen, dass Zeitstempel rückwärts springen.

Zugriffsfunktionen:

quint64 timestamp() const

Dokumentation zu den Member-Funktionen

void QSensorReading::setTimestamp(quint64 timestamp)

Legt die „ timestamp “ des Lesevorgangs fest.

Siehe auch „ timestamp()“.

quint64 QSensorReading::timestamp() const

Gibt den Zeitstempel des Messwerts zurück.

Hinweis: Getter -Funktion für die Eigenschaft „timestamp“.

Siehe auch „ setTimestamp()“.

QVariant QSensorReading::value(int index) const

Gibt den Wert der Eigenschaft unter index zurück.

Beachten Sie, dass diese Funktion langsamer ist als der direkte Aufruf der data-Funktion.

Hier ist ein Beispiel für das Abrufen einer Eigenschaft über die verschiedenen verfügbaren Mechanismen.

Der direkte Zugriff bietet die beste Leistung, erfordert jedoch bereits zur Kompilierungszeit die Kenntnis der Daten, auf die Sie zugreifen.

QAccelerometerReading *reading = ...;
qreal x = reading->x();

Sie können auch über den Namen auf eine Eigenschaft zugreifen. Dazu müssen Sie ` QObject::property()` aufrufen.

qreal x = reading->property("x").value<qreal>();

Schließlich kannst du über einen numerischen Index auf Werte zugreifen.

qreal x = reading->value(0).value<qreal>();

Beachten Sie, dass `value()` nur auf Eigenschaften zugreifen kann, die mit ` Q_PROPERTY()` in Unterklassen von ` QSensorReading` deklariert wurden.

Siehe auch ` valueCount()` und ` QObject::property()`.

int QSensorReading::valueCount() const

Gibt die Anzahl der zusätzlichen Eigenschaften zurück, über die die Lesung verfügt.

Beachten Sie, dass dabei Eigenschaften, die in ` QSensorReading` deklariert sind, nicht mitgezählt werden.

Beispielsweise gibt dies für „ QAccelerometerReading “ den Wert 3 zurück, da in dieser Klasse drei Eigenschaften definiert sind.

Makro-Dokumentation

DECLARE_READING(classname)

Das Makro DECLARE_READING fügt einer Leseklasse einige erforderliche Methoden hinzu.

Dieses Makro sollte für alle Leseklassen verwendet werden. Übergeben Sie die ` classname ` Ihrer Leseklasse.

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);
};

Siehe auch ` IMPLEMENT_READING()`.

IMPLEMENT_READING(classname)

Das Makro IMPLEMENT_READING implementiert die erforderlichen Methoden für eine Leseklasse.

Dieses Makro sollte für alle Leseklassen verwendet werden. Es sollte in einer einzelnen Kompilierungseinheit (Quelldatei) platziert werden, nicht in einer Header-Datei. Übergeben Sie die ` classname ` Ihrer Leseklasse.

IMPLEMENT_READING(MyReading)

Siehe auch ` DECLARE_READING()`.

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