このページでは

QSensorReading Class

QSensorReading クラスは、センサーからの測定値を保持します。詳細...

ヘッダー: #include <QSensorReading>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
継承元: QObject
継承元:
13 つの型

QAccelerometerReading、QAmbientLightReading 、QAmbientTemperatureReading 、QCompassReading 、QGyroscopeReading 、QHumidityReading 、QLightReading 、QMagnetometerReading 、QOrientationReading 、QPressureReading 、QProximityReading 、QRotationReading 、およびQTiltReading

プロパティ

パブリック関数

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 : quint64

このプロパティには、測定値のタイムスタンプが格納されます。

タイムスタンプの値は、固定時点からのマイクロ秒単位で表されます。タイムスタンプを使用することで、2つのセンサー測定値の間隔を確認することができます。

異なるセンサーからのタイムスタンプは、基準となる固定点が異なる場合があるため、直接比較できない場合があることに注意してください。

一部のプラットフォームでは、タイムスタンプが正しく送信されない場合があります。アプリケーションでは、タイムスタンプが過去に跳ね返ってしまうような偶発的な問題に備えておく必要があります。

アクセス関数:

quint64 timestamp() const

メンバ関数のドキュメント

void QSensorReading::setTimestamp(quint64 timestamp)

読み取りのtimestamp を設定します。

timestamp()も参照してください 。

quint64 QSensorReading::timestamp() const

読み取りのタイムスタンプを返します。

注: プロパティ `timestamp`のゲッター関数です 。

関連項目: setTimestamp()。

QVariant QSensorReading::value(int index) const

index にあるプロパティの値を返します。

なお、この関数は data 関数を直接呼び出すよりも処理速度が遅くなります。

以下に、利用可能なさまざまなメカニズムを用いてプロパティを取得する例を示します。

直接アクセスするのが最もパフォーマンスが優れていますが、アクセスするデータに関するコンパイル時の知識が必要となります。

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

また、名前でプロパティにアクセスすることもできます。これを行うには、QObject::property() を呼び出す必要があります。

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

最後に、数値インデックスを使用して値にアクセスすることもできます。

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

value() は、QSensorReading のサブクラスでQ_PROPERTY() によって宣言されたプロパティにのみアクセスできることに注意してください。

valueCount() およびQObject::property()も参照してください 。

int QSensorReading::valueCount() const

その読み取り結果が持つ追加のプロパティの数を返します。

なお、QSensorReading で宣言されたプロパティはカウントされません。

例えば、QAccelerometerReading では、そのクラスに 3 つのプロパティが定義されているため、この関数は 3 を返します。

マクロのドキュメント

DECLARE_READING(classname)

DECLARE_READING マクロは、読み取りクラスに必要なメソッドをいくつか追加します。

このマクロは、すべての読み取りクラスに対して使用する必要があります。読み取りクラスのclassname を引数として渡してください。

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

IMPLEMENT_READING()も参照してください 。

IMPLEMENT_READING(classname)

IMPLEMENT_READING マクロは、読み取りクラスに必要なメソッドを実装します。

このマクロは、すべての読み取りクラスで使用する必要があります。ヘッダーファイルではなく、単一のコンパイル単位(ソースファイル)内に配置してください。読み取りクラスのclassname を引数として渡してください。

IMPLEMENT_READING(MyReading)

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.