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 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™. |
除作為 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 Designer | 類為擴展 Qt Designer . |
| Qt Distance Field Generator | 為應用程序 UI 文本實體生成距離字段信息。 |
我們邀您探索 Qt 的其餘部分。我們準備的概述幫助您決定要使用哪些 API,示例演示如何使用 API。