Qt D-Bus

D-Bus 是最初是為 Linux 開發的 IPC (進程間通信) 和 RPC (遠程過程調用) 機製,采用 1 個統一協議替換替換現有的競爭 IPC 解決方案。它還被設計成允許在係統級進程 (譬如:打印機和硬件驅動程序服務) 和正常用戶進程之間,進行通信。

它使用很快的二進製消息傳遞協議,適於同機通信 (由於它的低延遲和低開銷)。目前,其規範的定義是通過 freedesktop.org 工程,且所有各方可用。

一般而言,通信是透過稱為 Bus (總綫,因此得名) 的中心服務器應用程序發生的,但應用程序直接到應用程序的通信也是可能的。當在 Bus (總綫) 中進行通信時,應用程序可以查詢哪些其它應用程序和服務可用,及按需激活它們之一。

使用模塊

使用 Qt 模塊的 C++ API 要求直接 (或透過其它依賴) 鏈接到模塊庫。幾個構建工具對此有專用支持,包括 CMake and qmake .

使用 find_package() 命令定位所需模塊組件在 Qt6 包:

find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
					

更多細節,見 構建采用 CMake 概述。

文章和指南

下列文檔包含 Qt D-Bus 集成特徵的有關信息,並提供用於通過 Bus (總綫) 發送和接收類型信息機製的有關細節:

範例

參考

模塊演變

Qt D-Bus 的變化 列齣瞭 Qt 的 Qt 6 係列在模塊 API 和功能上所做齣的重要改變。

許可和歸屬

Qt D-Bus 模塊在商業許可下是可用的來自 Qt 公司 。此外,它在自由軟件許可下也是可用的: GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。

Furthermore, Qt D-Bus in Qt 6.10.1 may contain third party modules under the following permissive licenses:

libdus-1 頭,dbus 第 1.13.12 版

學術免費許可第 2.1 版,或 GNU GPL (一般公共許可) 第 2.0 版或更高版本