このページでは

QAccelerometer Class

QAccelerometer クラスは、QSensor をラップした便利なラッパーです。詳細...

ヘッダー: #include <QAccelerometer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sensors)
target_link_libraries(mytarget PRIVATE Qt6::Sensors)
qmake: QT += sensors
継承元: QSensor

パブリック型

enum AccelerationMode { Combined, Gravity, User }

プロパティ

パブリック関数

QAccelerometer(QObject *parent = nullptr)
virtual ~QAccelerometer()
QAccelerometer::AccelerationMode accelerationMode() const
QAccelerometerReading *reading() const
void setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)

シグナル

void accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

詳細な説明

動作上の唯一の違いは、このクラスが型を適切に設定する点です。

また、加速度計の値に重力の影響を含めるかどうかを制御する加速度モードの変更もサポートしています。

さらに、このクラスには、QSensorReading ではなくQAccelerometerReading を返すreading() 関数が備わっています。

センサーの動作の詳細については、「QAccelerometerReading 」を参照してください。

「QAccelerometerReading」も参照してください 。

メンバ型のドキュメント

enum QAccelerometer::AccelerationMode

この列挙型は、加速度センサーの加速度モードを表します。

加速度モードは、センサーが加速度をどのように報告するかを制御します。QAccelerometer::Combined のみが、値を物理的に直接測定できるモードであり、その他は近似値です。

定数値説明
QAccelerometer::Combined0重力による加速度と、ユーザーがデバイスを動かしたことによって生じる加速度の両方が、合わせて報告されます。
QAccelerometer::Gravity1重力による加速度のみが報告されます。ユーザーによるデバイスの動きは、デバイスが回転した際の向きが変わる以外、何の影響も与えません。
QAccelerometer::User2ユーザーがデバイスを動かすことによって生じる加速度のみが報告され、重力の影響は相殺されます。したがって、静止しているデバイスでは、値はゼロ、またはゼロに近い値が報告されるはずです。他のAPIでは、このモードは「線形加速度」として知られている場合があります。

QAccelerometer::accelerationModeも参照してください 。

プロパティのドキュメント

accelerationMode : AccelerationMode

このプロパティは、加速度値の報告方法を制御する「加速度モード」を指定します。

加速度モードは、加速度センサーが値を報告する方法を制御します。デフォルトのモードは「QAccelerometer::Combined 」であり、これは重力による加速度が報告される値に含まれることを意味します。

一般相対性理論により、重力による加速度と、ユーザーがデバイスを動かしたことによって生じる加速度を物理的に区別することは不可能です。 ほとんどのデバイスは、センサーフュージョンを用いて、加速度のうちどの部分が重力によるものかを判別しています。例えば、回転センサーを使用して重力の方向を計算し、重力の大きさを一定と仮定する方法などです。したがって、その結果はあくまで近似値であり、不正確である可能性があります。「QAccelerometer::Combined 」モードは、重力の近似を伴わないため、最も正確なモードです。

すべてのバックエンドやデバイスが加速度モードの設定に対応しているわけではありません。そのような場合は、デフォルトモードである「QAccelerometer::Combined 」が使用され、設定を変更しても効果はありません。

アクセス関数:

QAccelerometer::AccelerationMode accelerationMode() const
void setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)

通知シグナル:

void accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

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

[explicit] QAccelerometer::QAccelerometer(QObject *parent = nullptr)

parent の子としてセンサーを作成します。

[virtual noexcept] QAccelerometer::~QAccelerometer()

センサーを破壊する。センサーがまだ停止していない場合は、これを停止させる。

[signal] void QAccelerometer::accelerationModeChanged(QAccelerometer::AccelerationMode accelerationMode)

accelerationMode が変更されたときに発火します。

注: プロパティ「accelerationMode 」の通知 シグナルです。

QAccelerometerReading *QAccelerometer::reading() const

このセンサーの読み取りクラスを返します。

QSensor::reading()も参照してください 。

void QAccelerometer::setAccelerationMode(QAccelerometer::AccelerationMode accelerationMode)

加速度モードをaccelerationMode に設定します。

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

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

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