• 作为一个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. 【noip模拟】Fancy Signal Translate (暴力 + 哈希)

    题目描述 FST是一名可怜的 OIer,他很强,但是经常 fst,所以 rating 一直低迷. 但是重点在于,他真的很强!他发明了一种奇特的加密方式,这种加密方式只有OIer才能破解. 这种加密方式 ...

  2. 【BZOJ 1023】[SHOI2008]cactus仙人掌图

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1023 [题意] [题解] 如果不考虑有环的情况; 那么有一个经典的求树的直径的方法; ...

  3. JDBC读取Oracle的US7ASCII编码中文乱码及不同编码下汉字占用字节的问题

    数据库版本号:Oracle 10g 字符集:SIMPLIFIED CHINESE_CHINA.US7ASCII JDK:1.6.0_45 Oracle驱动:ojdbc14.jar 使用JDBC操作数据 ...

  4. node lesson4--eventproxy不懂

    var express = require('express'); var superagent = require('superagent'); var cheerio = require('che ...

  5. hibernate validator 专题

    JSR-303 原生支持的限制有如下几种 : 限制 说明 @Null 限制只能为 null @NotNull 限制必须不为 null @AssertFalse 限制必须为 false @AssertT ...

  6. PHP数组教程

    定义数组 PHP数组array是一组有序的变量,其中每个变量被叫做一个元素. 一.定义数组 可以用 array() 语言结构来新建一个数组.它接受一定数量用逗号分隔的 key => value ...

  7. 移动端--web开展

    近期看到群里对关于 移动端 web开发非常是感兴趣.决定写一个关于 移动端的web开发 概念或框架(宝庆对此非常是纠结).也是由于自己一直从事pc 浏览器 web一直对 移动端的不是非常重视,所以趁此 ...

  8. 简明Python3教程 16.标准库

    简介 python标准库作为python标准安装的一部分,其自身包含数量庞大的实用模块, 因此熟悉python标准库非常重要,因为很多问题都能利用python标准库快速解决. 下面我们将研究标准库中的 ...

  9. 从源码角度看MySQL memcached plugin——1. 系统结构和引擎初始化

    本章尝试回答两个问题: 一.memcached plugin与MySQL的关系: 二.MySQL系统如何启动memcached plugin. 1. memcached plugin与MySQL的关系 ...

  10. WebService它Soap头验证进入

    1.创建一个新的类.如"AuthHeaderUser",在传承"System.Web.Services.Protocols.SoapHeader"类别 2.新W ...