QT基础(六)QT5 常用模块介绍

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

时间: 2024-10-10 23:30:22

QT基础(六)QT5 常用模块介绍的相关文章

python基础31[常用模块介绍]

python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能. * pickle: pickle模块被用来序列化python的对象到bytes流,从

Ansible 自动化运维工具之inventory和常用模块介绍

一.inventory介绍 前面我们介绍过ansible的hosts文件是存放被管理主机的,被管理主机比较少的情况下,直接在hosts中定义即可,但是以后很定会管理多台主机,而ansible可管理的主机集合就叫做inventory.在ansible中,描述你主机的默认方法是将它们列在一个文本文件中,这个文件叫inventory文件. 一个简单的inventory文件可能只包含一组主机名的列表,如下: ftp.testansible.com samba.testansible.com mail.t

Ansible 之 概念和常用模块介绍

1  概述 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括如下的特性: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:

Ansible的安装、配置及常用模块介绍

Ansible的安装.配置及常用模块介绍 ansible安装方式 1. ansible安装常用两种方式,yum安装和pip程序安装 这里提供二种安装方式,任选一种即可: 1.使用yum安装 yum install epel-release -y yum install ansible –y 2. 使用pip(python的包管理模块)安装 pip install ansible   #如果没pip,需先安装pip.yum可直接安装: yum install python-pip pip inst

第六章:Python基础の反射与常用模块解密

本課主題 反射 Mapping 介绍和操作实战 模块介绍和操作实战 random 模块 time 和 datetime 模块 logging 模块 sys 模块 os 模块 hashlib 模块 re 模块 本周作业 反射 Mapping 介绍和操作实战 反射是利用字符串的形式去对象 (模块) 中操作 (寻找/检查) 成员 案例例子 假设创建了一个common.py 程序里而有3个功能,比如网站里的登录页面.主页页面还有登出页面都是不同的页面,要显示的内容都不一样. def login(): p

Python学习笔记六(常用模块、面向对象基础)

一.random模块 import random print(random.random()) #0-1之间的小数 print(random.randint(1,5)) #1-5之间(包括1和5)的整数 print(random.randrange(1,5)) #1-5之间(包含1,不好包含5)的整数 print(random.choice(['a','b','c'])) #给定列表中任意元素 print(random.sample(['a','b','c','d'],2)) #给定列表中任意n

webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很有用的,所有建议生成) 2.安装webpaack a.在全局中安装webpack:npm install webpack -g b.将webpack安装到项目并将webpack写入package.json的devDependencies中:进入项目根目录,然后在命令行中输入npm install w

ansible基础—安装与常用模块

ansible介绍: ansible是一个基于python开发的轻量级自动化运维管理工具,可以用来批量执行命令,安装程序,支持playbook编排.它通过ssh协议来连接主机,省去了在每一台主机安装客户端的麻烦,相对比puppet和saltstack,显得更为简单和轻量. ansible命令参数: Usage: ansible <host-pattern> [options] Options:   -a MODULE_ARGS, --args=MODULE_ARGS              

常用模块介绍之读书人的事怎么能说是偷呢?(盗用老师的微博)

常用模块 一 time模块 时间表示形式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串:(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行"type(time.time())",返回的是float类型. (2)格式化的时间字符串(Format String): '1988-03-16' (3)元组(struct_time) :struct_time元