• 作为一个Qt的粉丝,对将于明年发布的Qt5充满了期待。可是想想Qt5将发生的巨大变化,心底又有点不安。Qt5到底会变成什么样呢?

看看近期Qt5的一些大动作:

  • 从 QtCore中移除 QSettings以及对QSettings的依赖(创建独立的模块?)

  • 从 QtCore中移除 QtConcurrent(创建独立模块?)

  • 将 QJSEngine 和 QDeclarativeEngine 放入 QtCore

  • 从 QtGui 中分离出 QtPrintSupport,保留pdf生成功能

  • QtCore 添加 zip 文件的读写功能

  • ...

Qt5 结构

Qt Essentials

在所有平台可用

Qt Tools

Qt的不可分割的组成部分,在所有桌面平台可用

Qt Add-Ons

可跨平台,也可不跨

其他模块和工具

第三方?

Qt5 的基础模块(Qt Essentials)

Qt Core

 

Qt Network

可能会集成到 Core

Qt Gui

除去所有QWidget相关的类以后的部分

Qt OpenGL

可能会被合并到其他模块

Qt Quick2

 

Qt Test

 

Qt Sql

 

V8 JavaScript engine

 

Qt DBus

由于依赖问题,必须被包含进来

Qt WebKit

提供新的底层C++和QML的接口

Qt MultimediaKit

 

来自Qt mobility的一些模块

初期可能还不会包含进来

Qt5 的核心将是 Qt Quick,qml和javascript将成为一等公民。这些模块中变化最大的当属 Gui 模块了,GUI结构进行了彻底的更新:

  • SceneGraph, 什么东东呢?不太了解。似乎:“Scene Graph”是一种组织场景数据的方法,它把数据放进一个层次结构里。

  • OpenGL, Qt5将依赖OpenGL 2

  • lighthouse(QPA),各个平台下图形系统的移植靠它实现,不过现在好像还没看到Win32插件的影子。

同时 QWidget 相关内容将独立成为QtWidget 模块,与打印相关内容,独立出来成为QtPrintSupport,...

但是,这并不是说这部分被废弃了。之所以不在Qt Essentials内,是因为并不是所有平台都需要它。对于桌面平台来说,QtWidget 和其他模块一样,是一等公民!!

  • We want to send the correct message to the users of QWidget classes: they are 1st class citizens in the desktop environment, but not necessarily available in the embedded or mobile environments

Qt附加组件(Qt Add-Ons)

在Qt5中,尽管 Qt Quick 是Qt的中心,但是Qt5仍将一如既往支持原生C++ Qt,而且不想与现在Qt4开发的代码分裂。Qt4中的一些模块在Qt5中被放入Qt Add-Ons中。

  • Qt 5 continues to offer all of the power of native Qt C++, and we don’t want Qt 5 to be disruptive for existing code developed for Qt 4.

QWidget 模块

模块成熟级别:完成(Done)
不再添加新特性或进行性能优化

Xml

XmlPatterns

Script 和 Scripts Tools

ActiveQt

Svg

模块成熟级别:废弃
QtWebKit提供Svg Full支持

Mobility中的一些模块

 

Qt Quick components模块

 

3D

 

graphics effects

 

还有些东西没看到哈,比如:

phonon

phonon由KDE社区继续维护,Qt建议使用 QtMultimediaKit

Qt Multimedia

从Qt4.8开始,废弃,建议 QtMultimediaKit

Qt3 Support

废弃

参考

http://blog.sina.com.cn/s/blog_671732440100y6pd.html

Qt5 结构及模块组成?的更多相关文章

  1. Go项目结构和模块导入

    Go项目结构和模块导入 golang项目结构与其他语言类似,但是仍然有一些需要注意的地方. 项目结构 环境配置 go 命令依赖一个重要的环境变量:$GOPATH,它表示GO项目的路径,如下设置 exp ...

  2. Locust源码目录结构及模块作用

    Locust源码目录结构及模块作用如下: 参考文章:https://blog.csdn.net/biheyu828/article/details/84031942

  3. nginx应用场景,特性,目录结构,常用模块,内置变量,URL和URI,http状态码,配置文件详解

    1.nginx介绍 1丶俄罗斯人开发的,开源www服务软件 2丶软件一共780K 3丶nginx本身是一款静态(html,js,css,jpg等)www软件 4丶静态小文件高并发,同时占用的资源很少, ...

  4. Python的程序结构[5] -> 模块/Module[0] -> 内建模块 builtins

    builtins 内建模块 / builtins Module 在Python的模块中,有一种特殊模块,无需导入便可以使用,其中包含了许多内建函数与类. builtins 模块内容 / builtin ...

  5. Nginx_handler模块发开(hello模块结构解析)

    声明:请在文章页面明显位置给出原文连接 http://www.cnblogs.com/paulweihan/p/4654173.html,否则保留追究法律责任的权利. 近期查了非常多资料.入门的样例都 ...

  6. 配置CLion作为Qt5开发环境

    使用Qt进行程序开发时QtCreator总是不二之选.作为老牌IDE在提供了强大的功能同时也对Qt的支持做了许多优化.如果没有特别的原因你应该使用它. 然而一个顺手的工具将会极大得提升生产效率,而如果 ...

  7. 【Python五篇慢慢弹(4)】模块异常谈python

    模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...

  8. iOS项目目录结构

    一. 目前最为流行的目录结构是: <先根据模块后根据功能> 的文件目录结构 优点: 模块分明, 并且开发和维护时方便查阅各个功能 缺点: 可能会出现模块内随意建立文件夹, 导致局部逻辑紊乱 ...

  9. ThinkPHP3.2判断手机端访问并设置默认访问模块的方法

    ThinkPHP3.2判断是否为手机端访问并跳转到另一个模块的方法 目录结构 公共模块Common,Home模块,Mobile模块 配置Application/Common/Conf/config.p ...

随机推荐

  1. 在jsp页面里面设置全局引用文件

    head.jsp文件 将项目中所需要用到次数比较多的的插件,库等,同意放在一个jsp文件里面,命名为head.jsp文件,相当于一个全局的 <%@ page language="jav ...

  2. 【43.75%】【codeforces 688E】The Values You Can Make

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  3. mysql 权限命令

    grant all on *.* to 'root' identified by 'root';

  4. C++ Lambda表达式基本用法(言简意赅,非常清楚)

    创建一个匿名函数并执行.Objective-C采用的是上尖号^,而C++ 11采用的是配对的方括号[].实例如下: 1 2 3 4 5 6 7 8 9 #include <iostream> ...

  5. STL关联式容器之set和multiset

    一,set和multiset的基础知识 1.set和multiset的基础 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按照一定的顺序排列,元素插入过程是按照排序规则插入的.所以不能指 ...

  6. Java--基础命名空间和相关东西(JAVA工程师必须会,不然杀了祭天)

    java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...

  7. 新世界PT850/PT853检查用友机对接T1交易宝

    新世界PT850/PT853检查用友机对接T1交易宝 这是一个老话题.简单.条形码号码模式是没有必要说,我要说的是,,启用条码扫描.显示有关信息. 并能够产生:条码 , 数量,价格格 这样做的目的.将 ...

  8. MVC中 跳转出某一个Area的方法

    1. return RedirectToRoute(new { Controller= "Home",Action="Index",Area="&qu ...

  9. 中英文对照 —— 互联网、IT(信息科技)、编程

    1. 网站 web-portal:门户网站: 2. 工具与方法 crowdsourcing:众包, crowd ⇒ 众: 3. 软件 MVP:最小化可行产品,Minimum Viable Produc ...

  10. 第四十天 阿乐在其中—Android小游戏的飞机(四)加入敌人

    8月9日,晴. "江城如画里,山晓望晴空. 雨水夹明镜.双桥落彩虹. 人烟寒橘柚,秋色老梧桐." 上篇已经让飞机载入子弹和音效及背景音乐,本篇主要加入敌机. 本篇要用到的几个函数解 ...