動的なセンサーバックエンドの登録
静的なバックエンドの登録
センサーバックエンドは通常、静的に登録されます。登録はセンサーライブラリが最初に使用された際に行われ、プログラムの実行中は登録が有効なまま維持されます。

静的に登録されたバックエンドであっても、QSensorBackendFactory がバックエンドを作成できないことを示すために 0 を返すことができるため、ある程度の動的な挙動を示す場合があります。
動的なバックエンドの登録
ほとんどバックエンドでは静的な登録で問題ありませんが、これが問題となる状況もいくつかあります。
最も明確な例は、固定されていないハードウェアを表すバックエンドです。 たとえば、Bluetooth 経由で接続されたゲームコントローラなどです。携帯電話の通信範囲内には複数のゲームコントローラが存在する可能性があるため、プログラムは特定のゲームコントローラを使用すべきであることを記録したいと考えます。バックエンドが静的に登録されていた場合、そのコントローラに関する一意の情報は存在しなかったでしょう。その代わりに、登録はコントローラが検出されるまで遅延されます。

推奨される登録方針
固定ハードウェア用のバックエンドは、直ちに登録されるべきです。アプリケーションは、そのセンサーが使用可能であることを認識できます。
リモートハードウェア用のバックエンドは、直ちに登録すべきではありません。アプリケーションは、そのセンサーが使用できないことを認識できます。リモートハードウェアが利用可能になった時点で、バックエンドを登録する必要があります。アプリケーションは、そのセンサーが現在利用可能であることを認識できます。
登録済みのバックエンドについて、ファクトリから 0 を返す必要がある場合は、そのバックエンドの登録を解除すべきです。これにより、アプリケーションはセンサーが利用できなくなったことを認識できます。ファクトリがバックエンドを再度作成できる場合は、再登録すべきです。これにより、アプリケーションはセンサーが再び利用可能になったことを認識できます。
基盤となるハードウェアが利用できなくなった場合は、バックエンドを登録解除する必要があります。バックエンドの既存のインスタンスは、アプリケーションにエラー状態を報告する一方で、その状況を適切に処理する必要があります。
© 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.