Qt D-Bus
D-Busは、もともとLinux向けに開発されたプロセス間通信(IPC)およびリモートプロシージャコール(RPC)のメカニズムであり、既存の競合するIPCソリューションを単一の統一プロトコルに置き換えることを目的としています。また、システムレベルのプロセス(プリンタやハードウェアドライバのサービスなど)と通常のユーザープロセス間の通信を可能にするよう設計されています。
高速なバイナリメッセージパッシングプロトコルを採用しており、低遅延かつ低オーバーヘッドであるため、同一マシン内での通信に適しています。その仕様は現在、freedesktop.org プロジェクトによって定義されており、すべての関係者が利用可能です。
通信は、一般的に「バス」(名称の由来)と呼ばれる中央サーバーアプリケーションを介して行われますが、アプリケーション間の直接通信も可能です。バス上で通信する場合、アプリケーションは利用可能な他のアプリケーションやサービスを照会できるほか、必要に応じてそれらを起動することもできます。
モジュールの使用
QtモジュールのC++ APIを使用するには、直接または他の依存関係を通じて、モジュールライブラリをリンクする必要があります。CMakeやqmakeなど、いくつかのビルドツールにはこのための専用のサポートが用意されています。
find_package() コマンドを使用して、Qt6 パッケージ内から必要なモジュールコンポーネントを検索します。
find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)詳細については、「CMake を使用したビルド」の概要を参照してください。
記事とガイド
以下のドキュメントには、Qt D-Bus統合機能に関する情報が記載されており、バスを介して型情報を送受信するために使用されるメカニズムについて詳しく説明しています:
例
リファレンス
モジュールの進化
「Qt D-Bus 」には、Qt 6シリーズに向けて行われた、モジュールのAPIおよび機能に関する重要な変更点が記載されています。
ライセンスおよび帰属表示
Qt D-Bus モジュールは、The Qt Companyから商用ライセンスの下で提供されています。さらに、フリーソフトウェアライセンスである「GNU Lesser General Public License(GNU LesserGeneral Public License、バージョン3)」または「GNU General Public License(GNU General Public License、バージョン2)」の下でも利用可能です。詳細については、「Qtのライセンス」を参照してください。
さらに、Qt 6.12.0 に含まれるQt D-Bus には、以下の許容的なライセンスに基づくサードパーティ製モジュールが含まれている場合があります:
Academic Free License v2.1、または GNU General Public License v2.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.