Qt 進程間通信

Qt提供瞭在 Qt 應用程序中實現 IPC (進程間通信) 的幾種辦法。

TCP/IP

跨平颱 Qt Network 模塊提供使網絡編程可移植且容易的類。它提供高級類 (如 QNetworkAccessManager ) 使用特定應用程序級協議進行通信,和低級類 (如 QTcpSocket , QTcpServer , QSslSocket ) 為實現協議。

本地服務器/套接字

跨平颱 Qt Network 模塊提供使本地網絡編程可移植且容易的類。它提供 QLocalServer and QLocalSocket 類 (允許在本地設置中進行像網絡的通信)。它們的 TCP 搭檔可以被用作即插即用置換,以使通信能跨網絡工作。

共享內存

跨平颱共享內存類 QSharedMemory ,提供對操作係統共享內存實現的訪問。它允許通過多綫程和多進程,安全訪問共享內存段。此外, QSystemSemaphore 可以用於控製係統共享資源的訪問,及在進程之間通信。

D-Bus 協議

The Qt D-Bus 模塊是僅 Unix 庫,可使用 D-Bus 協議實現 IPC (進程間通信)。它擴展 Qt 的 信號和槽 機製到 IPC (進程間通信) 級彆,允許將通過一個進程發射的信號連接到另一進程的槽。 Qt D-Bus 文檔編製擁有詳細信息有關如何使用 Qt D-Bus 模塊。

QProcess 類

跨平颱類 QProcess 可以被用於啓動外部程序作為子級進程,並與它們進行通信。它提供瞭用於監視和控製子級進程狀態的 API。 QProcess 給予對子級進程的輸入/輸齣通道的訪問,通過繼承 QIODevice .

會話管理

在 Linux/11、Windows 和 macOS,Qt 提供會話管理支持。會話允許將事件傳播給進程 (例如:通知何時發生關閉)。然後,進程和應用程序可以履行任何必要操作 (譬如:保存打開文檔)。