所有模塊

Qt 必需

Qt 必需定義所有平颱的 Qt 基礎。可用於所有支持開發平颱和測試目標平颱。除測試模塊外,其將保留源代碼兼容,這些模塊將在整個 Qt 5 中保留源代碼和二進製兼容。

必需模塊對於大多數 Qt 應用程序而言,是通用和有用的。用於特殊目的模塊被視為附件模塊,即使它可用於所有支持平颱。

下錶列齣瞭 Qt 必需:

模塊 描述
Qt Core 用於其它模塊的核心非圖形類。
Qt GUI 圖形用戶界麵 GUI 組件基類。包括 OpenGL。
Qt Multimedia 音頻 視頻 無綫電 攝像頭功能類。
Qt Multimedia Widgets 用於實現多媒體功能,基於 Widget 的類。
Qt Network 使網絡編程更容易和更可移植的類。
Qt QML QML 和 JavaScript 語言類。
Qt Quick 采用自定義 UI (用戶界麵) 構建高動態應用程序的聲明式框架。
Qt Quick Controls 為桌麵、嵌入式和移動設備創建高性能 UI (用戶界麵) 而提供的輕量 QML 類型。這些類型運用簡單樣式化體係結構且非常高效。
Qt Quick Dialogs 用於從 Qt Quick 應用程序創建係統對話框,並與之交互的類型。
Qt Quick Layouts 布局是用於在用戶界麵中排列基於 Qt Quick 2 項的項。
Qt Quick Test

用於 QML 應用程序的單元測試框架,其測試案例被編寫成 JavaScript 函數。

注意: 二進製保證不兼容 Qt Quick Test,但源代碼仍兼容。

Qt SQL 集成使用 SQL 數據庫的類。
Qt Test

單元測試 Qt 應用程序和庫的類。

注意: 二進製保證不兼容 Qt Test,但源代碼仍兼容。

Qt Widgets 以 C++ 小部件擴展 Qt GUI 的類。

若使用 qmake 構建工程, Qt Core and Qt GUI 模塊默認情況下是包括的。要僅鏈接到 Qt Core,把以下行添加到 .pro 文件:

QT -= gui
					

在 Windows,如不使用 qmake 或其它構建工具,譬如: CMake ,還需要鏈接到 qtmain 庫。

Qt 附件

Qt Add-On 模塊為特定目的,帶來額外價值。這些模塊隻可用於某些開發平颱。許多附件模塊要麼特徵完整,要麼是為嚮後兼容而存在的,或僅適用於某些平颱。每個附件模塊,分彆指定其兼容性承諾。

Qt 安裝程序包括下載附件的選項。更多信息,拜訪 Qt 快速入門 頁麵。

下錶列齣瞭 Qt 附件:

模塊 開發平颱 目標平颱 描述
Active Qt Windows Windows 使用 ActiveX 和 COM 的應用程序類
Qt 3D 所有 所有 支持 2D 3D 近實時仿真係統渲染功能。
Qt Android Extras 所有 Android 提供 Android 特定平颱 API。
Qt Bluetooth 所有 Android , iOS , Linux , macOS ,和 UWP (*) 提供對藍牙硬件的訪問。
Qt Concurrent 所有 所有 (*) 用於編寫多綫程程序 (無需使用低級綫程原語) 的類。
Qt D-Bus 所有 所有 (*) 透過 D-Bus 協議進行進程間通信的類。
Qt Gamepad 所有 Android , iOS , macOS ,tvOS (包括 tvOS 遠程), Linux , Windows ,和 QNX 使 Qt 應用程序能夠支持手柄硬件的使用。
Qt Graphical Effects 所有 所有 用於 Qt Quick 2 的圖形效果。
Qt Help 所有 所有 (*) 用於把文檔編製集成進應用程序的類,類似 Qt Assistant。
Qt Image Formats 所有 所有 額外圖像格式插件:TIFF MNG TGA WBMP。
Qt Location 所有 所有 在 QML 應用程序中顯示地圖、導航和所在地內容。
Qt Mac Extras 所有 macOS 提供 macOS 特定平颱 API。
Qt NFC 所有 Android and Linux (*) 提供對 NFC (近場通信) 硬件的訪問。
Qt OpenGL (棄用) 所有 所有 (*) OpenGL 支持類。棄用代之 QOpenGL* 類在 Qt GUI 模塊。
Qt PDF 所有 Windows , Linux ,和 macOS . 用於渲染 PDF 文檔的類和函數
Qt Platform Headers Qt for Windows , Linux , macOS Qt for Windows , Linux , macOS , Android (*) 提供的類封裝特定平颱信息,捆綁給定運行時配置為 平颱插件 .
Qt Positioning 所有 Android , iOS , macOS , Linux , UWP (*). 提供訪問位置 衛星和區域監視的類。
Qt Print Support 所有 所有 (*) 使打印更輕鬆,更便攜的類。
Qt Purchasing 所有 Android , iOS ,和 macOS . 使在 Qt 應用程序中能夠購買 APP 內産品。
Qt Quick Controls 1 (棄用) 所有 所有 (*) 能創建經典桌麵樣式用戶界麵,基於可重用 Qt Quick 的 UI 控件。棄用代之 Qt Quick Controls 2,其更好且更易於使用。
Qt Quick Extras 所有 所有 (*) 提供用於構建 Qt Quick 界麵的一套專用控件。
Qt Quick Timeline 所有 所有 (*) 啓用基於關鍵幀的動畫和參數化。
Qt Quick Widgets 所有 所有 (*) 提供用於顯示 Qt Quick 用戶界麵的 C++ Widget 類。
Qt Remote Objects 所有 所有 提供易於使用的機製為共享 QObject 的 API (特性/信號/槽) 在進程或設備之間。
Qt Script (棄用) 所有 所有 使 Qt 應用程序可編寫腳本的類。棄用代之 QJS* 類在 Qt QML 模塊。
Qt SCXML 所有 所有 提供用於從 SCXML (狀態圖錶 XML) 文件創建狀態機,並將它們嵌入應用程序的類和工具。
Qt Script Tools (棄用) 所有 所有 (*) 額外組件,為應用程序使用 Qt Script .
Qt Sensors 所有 Android , Qt for iOS , UWP ,Mer,和 QNX . 提供對傳感器硬件和運動手勢識彆的訪問。
Qt Serial Bus 所有 Windows , Linux , Boot to Qt targets, and QNX . 提供對串行工業總綫接口的訪問。目前,模塊支持 CAN bus 和 Modbus 協議。
Qt Serial Port 所有 Windows , Linux , macOS ,和 QNX . 提供對硬件和虛擬串口的訪問。
Qt Speech 所有 所有,除瞭 QNX . 提供對可訪問性特徵 (譬如:TTS 文本轉語音) 的支持。
Qt SVG 所有 所有 用於顯示 SVG 文件內容的類。支持子集 SVG 1.2 Tiny 標準。
Qt UI Tools 所有 所有 (*) 類為加載 QWidget 基於創建錶單在 Qt Designer 動態,在運行時。
Qt WebChannel 所有 所有 提供訪問 QObject 或 QML 對象從 HTML 客戶端,為無縫集成 Qt 應用程序與 HTML/JavaScript 客戶端。
Qt WebEngine 所有 Windows , Linux ,和 macOS . 把 Web 內容嵌入應用程序的類和函數,采用 Chromium 瀏覽器工程 .
Qt WebSockets 所有 所有 提供的 WebSocket 通信兼容 RFC 6455 .
Qt WebView 所有 采用本機 Web 引擎的平颱。 通過使用平颱本機 API 在 QML 應用程序中顯示 Web 內容,無需包括完整 Web 瀏覽器堆棧。
Qt Windows Extras 所有 Windows 提供 Windows 特定平颱 API。
Qt X11 Extras 所有 Linux/X11 為 X11 提供特定平颱 API。
Qt XML 所有 所有 (*)

SAX 和 DOM 的 C++ 實現。

注意: 此模塊不需要使用 QXmlStreamReader and QXmlStreamWriter 。它們已屬於 Qt Core .

Qt XML Patterns (棄用) 所有 所有 支持 XPath, XQuery ,XSLT 和 XML 模式驗證。

可用於商業許可或 GNU GPL (一般公共許可) 第 3 版下的附件

Qt Charts 所有 所有 用於顯示視覺上令人愉悅的圖錶 (由靜態或動態數據模型驅動) UI 組件。
Qt Data Visualization 所有 所有 用於創建驚人 3D 數據可視化的 UI 組件。
Qt Lottie Animation 所有 所有 以 JSON 格式渲染圖形和動畫的 QML API,導齣通過 Bodymovin 插件 for Adobe® After Effects。
Qt Network Authorization 所有 所有 為基於 OAuth 的在綫服務授權提供支持。
Qt Virtual Keyboard 所有 Linux and Windows 桌麵,及 Boot to Qt 目標。 用於實現不同輸入法及 QML 虛擬鍵盤的框架。支持本地化鍵盤布局和自定義視覺主題。
Qt Wayland Compositor Linux Linux and Boot to Qt 目標。 提供開發 Wayland 閤成器的框架。
Qt for WebAssembly 所有 支持 WebAssembly 的 Web 瀏覽器 使用 WebAssembly 為 Web 瀏覽器編譯 Qt 應用程序的平颱目標。
Qt Quick 3D 所有 所有 提供基於 Qt Quick,創建 3D 內容或 UI 的高級 API。
Qt Quick WebGL 所有 啓用 WebGL 的 Web 瀏覽器 提供 平颱插件 that allows streaming Qt Quick user interfaces over the network using WebGL™.

(*) QNX 狀態未知。

增值模塊

除作為 Qt 5 部分發布的模塊外,以下模塊和工具構建於 Qt 庫之上,以提供額外價值。它們有自己的發布時間錶,且在商業許可下是可用的。

特徵 描述
Qt Automotive Suite 用於開發 IVI (車載信息娛樂) 係統的一批軟件組件和工具。建立在 Qt for Device Creation 産品之上,且兼容 GENIVI 車用平颱體係結構。
Qt for Automation 用於自動化相關領域的庫和工具,譬如:KNX、OPC UA、MQTT。
Qt for Device Creation 用於快速、輕鬆且全集成開發嵌入式設備應用程序的工具。包括在大多數其它增值解決方案中。
Qt for MCUs 提供完整圖形框架和工具包,及在 MCU (微控製器單元) 設計、開發和部署 GUI 所需的一切。應用程序可以在裸機上 (或在實時操作係統中) 運行。

Qt 工具

Qt 工具 運行於所有支持開發平颱,並促進應用程序的開發和設計。

下錶列齣 Qt 工具:

工具 描述
Qt Designer 類為擴展 Qt Designer .
Qt Distance Field Generator 為應用程序 UI 文本實體生成距離字段信息。

從這裏開始

我們邀您探索 Qt 的其餘部分。我們準備的概述幫助您決定要使用哪些 API,示例演示如何使用 API。