核心內部

Qt 包含一組豐富的基礎使能器,主要來自 Qt Core 模塊。Qt 使用這些啓動器來提供更高級彆的 UI 和應用程序開發組件。以下話題闡述最重要的使能器,並展示如何使用它們以實現 Qt 尚未提供的專用功能。

對象、特性及事件

The QObject 類形成 Qt 對象模型的基礎,且是許多 Qt 類的父類。對象模型引入瞭許多機製 (譬如:允許運行時自省的元對象係統,操縱及特性援引、對象方法)。它還充當 Qt 事件係統的基礎,這是低級通信方式在 QObject (基於) 和對象之間。Qt 的信號、槽機製,提供瞭另一種高級通信形式。

這些特性還可以與狀態機框架 (提供正式定義、可預測方式來管理應用程序的狀態) 組閤使用。實現狀態機的另一種方式是使用 Qt SCXML 附件模塊,從 SCXML (狀態圖錶 XML) 文件創建它們。

此外, QObject 提供簡單計時機製采用 QObject::startTimer ()。另外, QTimer 類為計時器提供高級接口。

容器類

A container 是一種數據結構 (其實例是其它對象的集閤)。一些容器範例:動態數組、隊列、鏈錶及關聯數組。Qt提供一組一般目的,基於模闆的容器類 (用於結構內存數據)。

見完整列錶 容器類 瞭解更多細節。

國際化

Qt 使用 Unicode 編碼可顯示的文本字符串。Unicode 為世界上所有常用書寫係統提供支持,是跨平颱開發的理想選擇。使用 Qt 的強大國際化係統,還可以采用某一代碼庫編寫應用程序以支持任何數量的不同語言。

進程間通信

Qt 提供瞭幾個類,以支持進程間通信。還可以發起和管理外部進程,使用 QProcess 類。

綫程

Qt 提供安全且獨立於平颱的方式,管理綫程和並行化代碼的功能。

平颱支持

Qt 允許您編寫平颱無關代碼,其中相同代碼庫可以在不做任何改變的情況下在不同平颱編譯和部署。若您需要使用特定平颱特徵並集成係統庫,Qt 為此還提供解決方案。

Qt 使用 QPA (Qt 平颱抽象) 在目標平颱中集成窗口係統。QPA 是窗口係統的抽象,它使移植 Qt 到新平颱變得簡單且快速。這種係統之一是 Wayland 協議。Qt可以與 Wayland 一起用作嵌入式硬件的輕量窗口係統,以支持多進程圖形用戶界麵。

QPA (Qt 平颱抽象) 使用 Qt 的插件係統。此插件係統提供 API 以在特定領域擴展 Qt (譬如:添加對新圖像格式、數據庫驅動程序、等的支持),還可以編寫支持第 3 方插件的自己的可擴展 Qt 應用程序。