现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

新手必看:Qt5与Qt4的模块简介

2014-09-27 06:40 工业·编程 ⁄ 共 2455字 ⁄ 字号 评论 1 条

    Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本文主要对 Qt 5 的模块进行一个简单的介绍,以便以后大家需要哪些功能的时候知道到哪个模块去寻找。

    Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平台之上可以酌情引入

    QtEssentials包含了所有基本的Qt模块,这些模块可以在全部支持的开发平台与特定的测试目标平台上良好的运行,并且保持了不错的兼容性。这些必需的模块广泛使用在大部分的Qt应用程序中。即使一个模块可以在所有支持的开发平台上使用,只要其被使用于实现特定的问题,它就被归为add-on模块组中。

Qt5 基础模块分为以下几个:

Qt Core  包含核心非图形化的类,广泛被其它模块调用

Qt GUI  包含与GUI组件有关的基本类,包含OpenGL

Qt Multimedia  包含与音频,视频,无线广播和相机功能相关的类

Qt Multimedia Widgets  包含用于支持多媒体功能的控件相关的类

Qt Network  包含简化优化网络编程的类

Qt QML  包含QML,JavaScript相关的类

Qt Quick  使用通用用户接口构建动态应用程序的描述性框架

Qt Quick Controls  为构建传统的桌面风格用户界面,基于UIcontrols对QtQuick的重用

Qt Quick Layouts  Layouts用来在用户界面层次安排QtQuick项,Layouts本身也算作QtQuick项

Qt SQL  包含使用SQL进行数据库使用集成的类

Qt Test  包含用于测试Qt应用程序与库的类

Qt WebKit  包含用于支持基于WebKit2的使用与新的QMLAPI的类。参考QtWebKit Widgits条目

Qt WebKit Widgets  包含用于支持Qt4的WebKit1及与之相关的基于控件显示的类

Qt Widgets  包含用c++的控件来拓展QtGUI的类

QtAdd-Ons包含了用于特定目的的额外的模块,支持大部分的开发平台与一些目标平台。模块各自保持自己的兼容性。

Active Qt  包含使用ActiveX与COM的应用的类

Qt Concurrent  包含那些跳出线程原语层次简化多线程编程的类

Qt D-Bus  包含基于D-Bus协议,用于进程间通信的类

Qt Graphical Effects  包含构建QtQuick2图形效果的类

Qt Image Formats  为支持多图片格式的一些额外的类,如TIFF,MNG,TGA,WBMP

Qt OpenGL  包含用于支持OpenGL的类  注:推荐在新代码中使用QtGUI模块中与OpenGL相关的类

Qt Print Support  包含简化打印功能的类

Qt Declarative  提供与Qt4的兼容性说明

Qt Script  包含使Qt应用程序脚本化的类,为了保持与Qt4的兼容性而存在,推荐在新代码中使用QtQml中的QJS*类

Qt Script Tools  提供使用QtScript程序的附加组件

Qt Sensors   包含可控制硬件传感器与识别移动手势的类

Qt Serial Port  包含可获取硬件虚拟序列接口的类

Qt SVG  包含用于显示SVG文件内容的类

Qt X11 Extras  提供特定的API用于支持X11

Qt XML  SAX与DOM的c++实现 注:推荐新代码中使用QXmlStreamReader和QXmlStreamWriter类

Qt XML Patterns  用于为XPath,XQuery,XSLT,XML模式验证提供支持

QtTools  Tools提供可运行在所有支持开发平台上的官方工具。

  以下是QtTools的模块列表

Qt Designer

包含拓展QtDesigner的类

Qt Help

包含提供在线支持的类

Qt UI Tools

包含提供UI工具的类

Qt 4 也分成若干模块,但是这些模块与 Qt 5 有些许多不同。下面是 Qt 4 的模块

QtCore,Qt 提供的非 GUI 核心类库,这一部分与 Qt 5 大致相同,只不过 Qt 4 的 core 类库中并不包含 JSON、XML 处理等。

QtGui,图形用户界面组件,这个模块相当于 Qt 5 的 QtGui 与 QtWidgets 两个模块的总和。

QtMultimedia,多媒体支持,类似 Qt 5 的相关部分。

QtNetwork,网络支持,类似 Qt 5。

QtOpenGL,提供对 OpenGL 的支持。在 Qt 5 中,这部分被移植到 QtGui 模块。

QtOpenVG,提供对 OpenVG 的支持。

QtScript,提供对 Qt Scripts 的支持。Qt Script 是一种类似于 JavaScript 的脚本语言。在 Qt 5 中,推荐使用 QtQml 的 JavaScript 部分。

QtScriptTools,为 Qt Script 提供的额外组件。

QtSql,提供对 SQL 数据库的支持。

QtSvg,提供对 SVG 文件的支持。

QtWebKit,提供显示和编辑 Web 内容。

QtXml,XML 处理,这部分在 Qt 5 中被添加到了 QtCore。

QtXmlPatterns,提供对 XQuery、XPath 等的支持。

QtDeclarative,用于编写动画形式的图形用户界面的引擎。

Phonon,多媒体框架。

Qt3Support,Qt 3 兼容类库。

下面是 Qt 4 的一些工具模块:

QtDesigner,用于扩展 Qt Designer。

QtUiTools,用于在自己的引用程序中处理 Qt Designer 生成的 form 文件。

QtHelp,联机帮助。

QtTest,单元测试。

下面是专门供 Windows 平台的模块:

QAxContainer,用于访问 ActiveX 控件。

QAxServer,用于编写 ActiveX 服务器。

下面是专门供 Unix 平台的模块:

QtDBus,使用 D-Bus 提供进程间交互。

目前有 1 条留言    访客:0 条, 博主:0 条 ,引用: 1 条

    外部的引用: 1 条

    • Qt的Script、Quick、QML的关系与总结 | 求索阁

    给我留言

    留言无头像?