QSensorReading 类

QSensorReading 类包含从传感器获取的读数。 更多信息...

头文件 #include <QSensorReading>
CMakefind_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmakeQT += sensors
继承自 QObject
继承对象
13 个类型

QAccelerometerReadingQAmbientLightReadingQAmbientTemperatureReadingQCompassReadingQGyroscopeReadingQHumidityReadingQLightReadingQMagnetometerReadingQOrientationReadingQPressureReadingQProximityReadingQRotationReadingQTiltReading

属性

公共函数

voidsetTimestamp(quint64 timestamp)
quint64timestamp() const
QVariantvalue(int index) const
intvalueCount() const

DECLARE_READING(classname)
IMPLEMENT_READING(classname)

详细描述

请注意,QSensorReading 本身并不特别有用。每个传感器的有趣数据定义在 QSensorReading 的子类中。

属性文档

[只读] timestamp : const quint64

此属性包含读数的时间戳。

时间戳值是从一个固定点以来的微秒数。您可以使用时间戳来查看两个传感器读数之间有多远。

请注意,来自不同传感器的传感器时间戳可能不可以直接比较(因为它们可能选择不同的固定点作为参考)。

注意,一些平台可能无法正确传递时间戳。应用程序应准备偶尔出现的可能导致时间戳向后跳转的问题。

访问函数

quint64timestamp() const

成员函数文档

void QSensorReading::setTimestamp(quint64 timestamp)

设置读数的 时间戳

另请参阅 时间戳

quint64 QSensorReading::timestamp() const

返回读数的时间戳。

注意:时间戳属性的获取函数。

另请参阅 setTimestamp

QVariant QSensorReading::value(int index) const

返回在 index 位置的属性值。

请注意,此函数比直接调用数据函数要慢。

以下是使用不同机制获取属性的一个示例。

直接访问提供最佳性能,但需要对要访问的数据有编译时知识。

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

您还可以通过名称访问属性。为此,您必须调用 QObject::property

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

最后,您可以通过数字索引访问值。

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

注意,value()只能访问Q_PROPERTY()在QSensorReading的子类中声明的属性。

另请参阅 valueCountQObject::property

int QSensorReading::valueCount() const

返回读数拥有的额外属性数量。

请注意,这并不包括在QSensorReading中声明的属性。

例如,对于QAccelerometerReading,此函数返回3,因为该类中有3个属性定义。

宏文档

DECLARE_READING(classname)

The DECLARE_READING macro adds some required methods to a reading class.

This macro should be used for all reading classes. Pass the classname of your reading class.

class MyReading : public QSensorReading
{
    \Q_OBJECT
    Q_PROPERTY(qreal myprop READ myprop)
    DECLARE_READING(MyReading)
public:
    qreal myprop() const;
    vod setMyprop(qreal myprop);
};

另请参阅 IMPLEMENT_READING

IMPLEMENT_READING(classname)

The IMPLEMENT_READING macro implements the required methods for a reading class.

This macro should be used for all reading classes. It should be placed into a single compilation unit (source file), not into a header file. Pass the classname of your reading class.

IMPLEMENT_READING(MyReading)

另请参阅 DECLARE_READING

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