3_模块.md
Qt模块
- Qt模块
- 基本模块
- 扩展模块
- Qt 3D
- Qt Bluetooth
- Qt Contacts
- Qt Concurrent
- Qt D-Bus
- Qt Graphical Effects
- Qt Image Formats
- Qt JS Backend
- Qt Location
- Qt OpenGL
- Qt Organizer
- Qt Print Support
- Qt Publish and Subscribe
- Qt Quick 1
- Qt Script
- Qt Script Tools
- Qt Sensors
- Qt Service Framework
- Qt SVG
- Qt System Info
- Qt Tools
- Qt Versit
- Qt Wayland
- Qt Webkit
- Qt XML
- Qt XML Patterns
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。
Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平台之上可以酌情引入。
基本模块
Qt core
Qt Core,提供核心的非 GUI 功能,所有模块都需要这个模块。这个模块的类包括了动画框架、定时器、各个容器类、时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。所有这些类都可以通过
Qt GUI
Qt Gui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和OpenGL ES 集成、2D 图像、字体、拖放等。这些类一般由 Qt 用户界面类内部使用,当然也可以用于访问底层的 OpenGL ES 图像 API。Qt Gui 模块提供的是所有图形用户界面程序都需要的通用功能。
Qt Multimedia
Qt Multimedia,提供视频、音频、收音机以及摄像头等功能。这些类可以通过
Qt Network
Qt Network,提供跨平台的网络功能。这些类可以通过
Qt Qml
Qt Qml,提供供 QML(一种脚本语言,也提供 JavaScript 的交互机制) 使用的 C++API。这些类可以通过
Qt Quick
Qt Quick,允许在 Qt/C++ 程序中嵌入 Qt Quick(一种基于 Qt 的高度动画的用户界面,适合于移动平台开发)。这些类可以通过
Qt SQL
Qt SQL,允许使用 SQL 访问数据库。这些类可以通过
Qt Test
Qt Test,提供 Qt 程序的单元测试功能。这些类可以通过
Qt Webkit
Qt Webkit,基于 WebKit2 的实现以及一套全新的 QML API(顺便说一下,Qt 4.8 附带的是 QtWebkit 2.2)。
扩展模块
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。该模块仅仅为了程序从 Qt 4 移
植到 Qt 5 的方便才保留下来,如果你需要在新的 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
从 Qt 4 移植过来的 QtDeclarative 模块,用于提供与 Qt 4 的兼容。如果
你需要开发新的程序,需要使用 QtQuick 模块
Qt Script
提供脚本化机制。这也是为提供与 Qt 4 的兼容性,如果要使用脚本化支持,请使用 QtQml 模块的 QJS* 类。
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 平台插件(clients)。
Qt Webkit
从 Qt 4 移植来的基于 WebKit1 和 QWidget 的 API
Qt XML
SAX 和 DOM 的 C++ 实现。该模块已经废除,请使用QXmlStreamReader/Writer。
Qt XML Patterns
提供对 XPath、XQuery、XSLT 和 XML Schema 验证的支持