QtRO (Qt Remote Objects) 是為 Qt 開發的 IPC (進程間通信) 模塊。此模塊擴展瞭 Qt 的現有功能,使進程 (或計算機) 之間能夠輕鬆交換信息。
使這種信息能夠交換的關鍵 Qt 特徵之一,是對象 API (由其特性、信號及槽定義) 和該 API 實現之間的區彆。QtRO 的目的是滿足期望 API,即使真實 QObject 在不同進程中。稱為槽的對象復本 ( 復本 在 QtRO) 會被轉發給真實對象 ( Source 在 QtRO) 進行處理。各 Replica (復本) 接收 Source (源) 特性改變或發射信號的更新。
A 復本 是輕量級代理對於 Source 對象,但 Replica (復本) 支持如 QObjects 的相同連接和行為,使之能以相同方式使用如任何其它 QObject 由 Qt 提供。在幕後,QtRO 處理看起來像其 Source (源) 的必要 Replica (復本) 的一切。
注意,遠程對象的行為異於傳統 RPC (遠程過程調用) 實現,例如:
雖然以 QtRO 實現這種 RPC 風格行為是可能的,如沒有特性的 Source (源) 和擁有返迴值的槽,但 QtRO 隱藏瞭處理是真正遠程的事實。讓節點給您 Replica (復本),而不是自己創建的,可以使用狀態信號 ( isReplicaValid() ),然後與對象交互就像采用任何其它 QObject 基類型。
考慮傳感器,譬如 GPS (全球定位係統) 接收器。按 QtRO 術語:
考慮對打印機提供訪問的服務。按 QtRO 術語:
Qt Remote Objects 在商業許可下是可用的來自 Qt 公司 。此外,它是可用的根據 GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。