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提供进程间交互。

Qt_模块简介的更多相关文章

  1. Python::OS 模块 -- 简介

    OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...

  2. Qt5模块简介

        原文链接:Qt5 模块简介 无意中看到这篇文章,虽然讲的不是经常用的东西,但是看了这篇文章之后,可以对qt有个大致的了解,能够清晰的知道自己想要什么,应该关注那一部分,学习了,相信以后会又很大 ...

  3. Python 的 six模块简介

    Python 的 six模块简介 six : Six is a Python 2 and 3 compatibility library Six没有托管在Github上,而是托管在了Bitbucket ...

  4. signal模块简介

    signal模块简介 最近在看Linux signal 相关内容,signal可以被用来进程间通信和异步处理.Python标准库提供了signal包可以用来处理信号相关.这里讨论的是Unix系统中Py ...

  5. socketserver模块简介

    1. socketserver模块简介 在python的socket编程中,实用socket模块的时候,是不能实现多个连接的,当然如果加入其 它的模块是可以的,例如select模块,在这里见到的介绍下 ...

  6. Qt 学习之路 2(6):Qt 模块简介

    Home / Qt 学习之路 2 / Qt 学习之路 2(6):Qt 模块简介  豆子  2012年8月26日  Qt 学习之路 2  20条评论 Qt 5 与 Qt 4 最大的一个区别之一是底层架构 ...

  7. Python logging 模块简介

    Table of Contents 1. Logging 模块 1.1. 简介 1.2. 简单输出日志 1.3. 输入日志到文件 1.4. 几个基本概念 1.4.1. loggers 1.4.2. h ...

  8. collections模块简介

    collections模块简介 除python提供的内置数据类型(int.float.str.list.tuple.dict)外,collections模块还提供了其他数据类型,使用如下功能需先导入c ...

  9. python从入门到大神---Python的jieba模块简介

    python从入门到大神---Python的jieba模块简介 一.总结 一句话总结: jieba包是分词技术,也就是将一句话分成多个词,有多种分词模型可选 1.分词模块包一般有哪些分词模式(比如py ...

随机推荐

  1. IOS安卓常见问题

    一.IOS自带safari浏览器   1.safari不支持fixed+input输入框.   解决方案: http://www.haorooms.com/post/ios_fixed_input   ...

  2. (转)OOP(面向对象编程)的几大原则

    文章转载自:http://blog.csdn.net/anders_zhuo/article/details/8949566 设计模式遵循的一般原则: 1.开-闭原则(Open-Closed Prin ...

  3. C# 使用printDocument1.Print打印时不显示 正在打印对话框

    C#使用printDocument1.Print打印时不显示正在打印对话框有两种方法 第一种,使用PrintController       PrintController printControll ...

  4. PAT 1017 A除以B(20)(代码)

    1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...

  5. kdump 调试手段

    kdump是在系统崩溃的时候用来转储内存运行参数的一个工具和服务,打个比方,如果系统一旦崩溃那么正常的内核就没有办法工作了,在这个时候将由kdump产生一个用于capture当前运行信息的内核,该内核 ...

  6. django模板语言和过滤

    一:模板组成 HTML代码 + 逻辑控制代码 逻辑代码组成格式: 使用大括号来引用变量, {{ var_name }} 二: Template和Context对象 //进入该的django的项目环境 ...

  7. JSP动作

    JSP动作元素在请求处理阶段起作用,他们会被转换成Java代码来执行操作,如访问一个Java对象或调用方法. JSP动作元素是用XML语法写成的. 动作元素基本上都是预定义的函数,JSP规范定义了一系 ...

  8. Python之路(第二十篇) subprocess模块

    一.subprocess模块 subprocess英文意思:子进程 那什么是进程呢? (一)关于进程的相关理论基础知识 进程是对正在运行程序的一个抽象,进程的概念起源于操作系统,是操作系统最核心的概念 ...

  9. 【转】先说IEnumerable,我们每天用的foreach你真的懂它吗?

    [转]先说IEnumerable,我们每天用的foreach你真的懂它吗? 我们先思考几个问题: 为什么在foreach中不能修改item的值? 要实现foreach需要满足什么条件? 为什么Linq ...

  10. JQuery中after() append() appendTo()的区别

    首先 after() 是追加在元素外边而append() appendTo()是追加在元素里面. $(selector).after(content) $("span").afte ...