Qt_模块简介
Qt4 和 Qt5最大的區別之一就是底層架構有了修改.Qt5引入了模塊化的概念,講眾多功能細分到幾個模塊之中.需要達到,用什么模塊知道到哪個模塊去尋找.
?
Qt5模塊分為Essentials Modules 和 Add - on Modules 兩部分. 前者是基礎模塊, 在所有平臺上都可用;后者是擴展模塊, 建立在基礎模塊的基礎上, 能夠運行Qt的平臺上課酌情引入.
Qt 基礎模塊分為一下幾個:
- Qt Core, 提供核心的非GUI功能, 所有模塊都需要這個模塊. 這個模塊的類包括動畫框架、定時器、各種容器、時間日期類、事件、IO、JSON、插件機制、智能指針、圖形(矩形、路徑等)、線程、XML等。所有這些類都可以通過 <QtCore>頭文件引入.
- Qt Gui, 提供GUI程序的基本功能, 包括與窗口系統的集成、事件處理、OPenGL 和 OpenGL ES集成、2D圖像、字體、拖放等。這些類一般由Qt用戶界面類內部使用,當然也可以用于訪問底層的OpenGL ES圖像API。 Qt Gui模塊提供的是所有圖形用戶界面程序都需要的通用功能。
- Qt Multimedia ,提供音頻、視頻、收音機以及攝像頭等功能。這些類可以通過<QtMultimedia>引入,而且需要在pro文件中添加QT +=multimedia.
- Qt Network, 提供跨平臺的網絡功能.這些類可以通過<QtNetwork>引入,而且需要在pro文件中添加QT+=network.
- Qt Qml, 提供QML(一種腳本語言,也提供JavaScript的交互機制)使用C++API.這些類可以通過<QtQml>引入,而且需要在pro文件中添加 QT += qml.
- Qt Quick, 允許在Qt/C++程序中嵌入Qt Quick(一種基于Qt的高度動畫的用戶界面,適合于移動平臺開發).這些類可以通<QtQuick>引入,而且需要在pro文件中添加 QT += quick.
- Qt SQL , 語序使用SQL訪問數據庫. 這些類可以通過<QtSql>引入,而且需要pro文件中添加 QT += sql.
- Qt Test ,提供Qt程序的單元測試功能. 這些類可以通過<QtTest>引入,而且需要pro文件中添加 QT += testlib.
- Qt Webkit, 基于WebKit2實現的一套全新的QML API (Qt 4.8 附帶 的是 QtWebKit2.2).
Qt 擴展模塊則有更多選擇:
- Qt 3D, 提供聲明式語法, 在Qt 程序中科院簡單嵌入3D圖像.Qt 3D為Qt Quick添加來3D內容渲染. Qt 3D提供來QML 和C++兩套API.用于開發3D程序.
- Qt Bluetooth, 提供來訪問藍牙無線設備的C++ 和 QML API.
- Qt Contacts,用于訪問地址簿或者聯系人數據庫的C++和QML API.
- Qt Concurrent, 封裝了底層線程技術的類庫,方便開發多線程程序.
- Qt D-Bus,這是一個僅供Unix平臺使用的類庫,用于利用D-Bus協議進行進程間交互.
- Qt Graphical Effects, 提供一系列用于實現圖像特效的類,比如模糊、銳化等.
- Qt Image Formats, 支持圖片格式的一系列插件,包括TIFF、MNG、TGA、WBMP。
- Qt JS Backend ,該模塊沒有公開的API,是V8 JavaScript引擎的一個移植。這個模塊僅供QtQml內部模塊使用。
- Qt Location,提供定位機制、地圖和導航技術、位置搜索等功能的QML和C++API。
- Qt OpenGL,方便再Qt應用程序中使用OpenGL。該模塊僅僅為了程序從Qt4 移植到 Qt5的方便才保留下來,如果你需要新的Qt 5程序中使用OpenGL相關技術,需要使用QtGui模塊中的QOpenGL。
- Qt Organizer,使用QML 和C++API訪問組織時間(organizer event)。organizer API是Personal Information Management API的一部分,用于訪問Calendar信息。通過Organizer API可以實現:從日歷數據訪問日歷時間、導入iCalendar事件或者將自己的事件導出到iCalendar。
- Qt Print Support,提供對打印功能的支持。
- Qt Publish and Subscribe ,為應用車工女婿提供對項目值的讀取、導航、訂閱等功能。
- Qt Quick 1, 從Qt4移植過來的QtDeclarative模塊,用于提供于Qt4的兼容。如果你需要開發新的程序,需要使用QtQuick模塊。
- Qt Script Tools,為使用Qt Script 模塊的應用程序提供的額外的組件。
- Qt Sensors, 提供訪問各類傳感器的QML 和C++接口。
- Qt Service Framework, 提供客戶端發現其他設備的服務。 Qt Service Framework 為在不同平臺上發現、實現和訪問服務定義了一套統一的機制。
- Qt SVG, 提供渲染和創建SVG文件的功能。
- Qt System Info,提供一套API,用于發現系統相關的信息,比如電池使用量、鎖屏、硬件特性等。
- Qt Tools,提供了Qt開發的方便工具,包括Qt Clucene、Qt Designer、Qt Help 以及Qt UI Tools。
- Qt Versit,提供了對Versit API的支持。Versit API 是Personal Information Management API 的一部分,用于QContacts 和 vCard 以及 QOrganizerItems 和 iCalendar 之間的相互轉換。
- Qt Wayland ,僅用于Linux平臺,用來替換QWS,包括Qt Compositor API(server) 和 Wayland 平臺插件(clents)。
- Qt WebKit,從Qt 4移植過來的基于WebKit1 和QWidget 的API。
- Qt Widgets,使用C++擴展的Qt Gui 模塊,提供了一些界面組件,比如按鈕、單選框等。
- Qt XML,SAX 和 DOM 的C++實現。該模塊已經廢除,請使用QXmlStreamReader/Writer.
- Qt XML Patterns,提供對XPath、XQuery、XSLT和XML Schema 驗證的支持。
- QtDeclarative, 用于編寫動畫形式的圖像化用戶界面的引擎。
- Phonon,多媒體框架。
- Qt3Support,Qt3 兼容類庫。
下面是 Qt4 的一些工具模塊:
- QtDesigner ,用于擴展Qt Designer。
- QtUiTools,用于在自己引用車工女婿中央處理器 QtDesigner生成 form 文件。
- QtHelp,聯機幫助。
- QtTest,單元測試。
下面是專門供Windows平臺的模塊:
- QAxContainer, 用于訪問ActiveX 控件。
- QAxServer,用于編寫ActiveX 服務器。
下面是專門供Unix使用的模塊
- QtDBus,使用D-Bus提供進程間交互。
轉載于:https://www.cnblogs.com/zpsoe/p/7001557.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 【USACO】电子游戏 有条件的背包
- 下一篇: Python开发基础 day5 函数的