Класс QSensorReading
Класс QSensorReading хранит показания датчика. Подробнее...
| Заголовок: | #include <QSensorReading> |
| CMake: | find_package(Qt6 COMPONENTS Sensors REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Sensors) |
| qmake: | QT += sensors |
| Наследует: | QObject |
| Наследуется от: | QAccelerometerReading, QAmbientLightReading, QAmbientTemperatureReading, QCompassReading, QGyroscopeReading, QHumidityReading, QLightReading, QMagnetometerReading, QOrientationReading, QPressureReading, QProximityReading, QRotationReading и QTiltReading |
Свойства
- timestamp : const quint64
Открытые функции
| void | setTimestamp(quint64 timestamp) |
| quint64 | timestamp() const |
| QVariant | value(int index) const |
| int | valueCount() const |
Макросы
| DECLARE_READING(classname) | |
| IMPLEMENT_READING(classname) |
Подробное описание
Обратите внимание, что QSensorReading сам по себе не особенно полезен. Интересные данные для каждого датчика определены в подклассе QSensorReading.
Документация по свойству
[read-only] timestamp : const quint64
Это свойство содержит временную метку показания.
Значения временных меток — это микросекунды с момента фиксированной точки. Вы можете использовать временные метки, чтобы увидеть, насколько далеко друг от друга находятся два показания датчика.
Обратите внимание, что временные метки показаний разных датчиков могут быть не напрямую сравнимы (поскольку они могут выбрать разные фиксированные точки для своей отправной точки).
Обратите внимание, что некоторые платформы не передают временные метки корректно. Приложения должны быть готовы к периодическим проблемам, которые приводят к тому, что временные метки «прыгают» назад.
Функции доступа:
| quint64 | timestamp() const |
Документация по членам-функциям
void QSensorReading::setTimestamp(quint64 timestamp)
Устанавливает timestamp показания.
См. также timestamp().
quint64 QSensorReading::timestamp() const
Возвращает временную метку показания.
Примечание: Функция-получатель для свойства timestamp.
См. также 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.
См. также valueCount() и QObject::property().
int QSensorReading::valueCount() const
Возвращает количество дополнительных свойств, которые имеет показание.
Обратите внимание, что это не учитывает свойства, объявленные в QSensorReading.
Например, для QAccelerometerReading это возвращает 3, потому что в этом классе определены 3 свойства.
Документация по макросам
DECLARE_READING(classname)
Макрос DECLARE_READING добавляет некоторые необходимые методы в класс показаний.
Этот макрос должен использоваться для всех классов показаний. Передайте classname вашего класса показаний.
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)
Макрос IMPLEMENT_READING реализует необходимые методы для класса показаний.
Этот макрос должен использоваться для всех классов показаний. Он должен быть размещен в одном файле компиляции (файле исходного кода), а не в заголовочном файле. Передайте classname вашего класса показаний.
IMPLEMENT_READING(MyReading)
См. также DECLARE_READING().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qsensorreading.html