QSensorReading Class
Die Klasse QSensorReading enthält die Messwerte des Sensors. Mehr...
Kopfzeile: | #include <QSensorReading> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sensors) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
qmake: | QT += sensors |
Vererbt: | QObject |
Geerbt von: |
Eigenschaften
- timestamp : const quint64
Öffentliche Funktionen
void | setTimestamp(quint64 timestamp) |
quint64 | timestamp() const |
QVariant | value(int index) const |
int | valueCount() const |
Makros
DECLARE_READING(classname) | |
IMPLEMENT_READING(classname) |
Detaillierte Beschreibung
Beachten Sie, dass QSensorReading für sich genommen nicht besonders nützlich ist. Die interessanten Daten für jeden Sensor werden in einer Unterklasse von QSensorReading definiert.
Dokumentation der Eigenschaften
[read-only]
timestamp : const quint64
Diese Eigenschaft enthält den Zeitstempel der Ablesung.
Zeitstempelwerte sind Mikrosekunden seit einem festen Punkt. Sie können Zeitstempel verwenden, um zu sehen, wie weit zwei Sensormesswerte voneinander entfernt sind.
Beachten Sie, dass die Zeitstempel von verschiedenen Sensoren möglicherweise nicht direkt vergleichbar sind (da sie unterschiedliche Festpunkte als Referenz wählen).
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 der Mitgliedsfunktionen
void QSensorReading::setTimestamp(quint64 timestamp)
Legt die timestamp der Lesung fest.
Siehe auch timestamp().
quint64 QSensorReading::timestamp() const
Gibt den Zeitstempel der Lesung 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 Datenfunktion.
Hier ist ein Beispiel für den Zugriff auf eine Eigenschaft über die verschiedenen verfügbaren Mechanismen.
Der direkte Zugriff bietet die beste Leistung, erfordert jedoch Kenntnisse über die Daten, auf die Sie zugreifen wollen, während der Kompilierung.
QAccelerometerReading *reading = ...; qreal x = reading->x();
Sie können auch über den Namen auf eine Eigenschaft zugreifen. Hierfür müssen Sie QObject::property() aufrufen.
Schließlich können Sie auf Werte über einen numerischen Index zugreifen.
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, die das Lesen hat.
Beachten Sie, dass dabei die in QSensorReading deklarierten Eigenschaften nicht mitgezählt werden.
Als Beispiel wird 3 für QAccelerometerReading zurückgegeben, da in dieser Klasse 3 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 eine einzelne Kompiliereinheit (Quelldatei) eingefügt werden, nicht in eine Header-Datei. Übergeben Sie die classname Ihrer Leseklasse.
IMPLEMENT_READING(MyReading)
Siehe auch DECLARE_READING().
© 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.