`
tomhibolu
  • 浏览: 1383335 次
文章分类
社区版块
存档分类
最新评论

Qt5 结构及模块组成?

 
阅读更多
  • 作为一个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

废弃

参考


分享到:
评论
1 楼 lzy5425 2012-07-08  
但是Qt在C++方面发展却让人担忧

相关推荐

    精通qt4编程(源代码)

    \17.3.2 安装QtDBus模块 427 \17.3.3 接口与适配器 429 \17.3.4 QtDBus应用实例 432 \17.4 小结 441 \第18章 Qt插件 442 \18.1 Qt插件开发基础 442 \18.2 Qt设计器插件 443 \18.2.1 使用Scratchpad 443 \18.2.2 提升...

    精通Qt4编程(第二版)源代码

    \17.3.2 安装QtDBus模块 427 \17.3.3 接口与适配器 429 \17.3.4 QtDBus应用实例 432 \17.4 小结 441 \第18章 Qt插件 442 \18.1 Qt插件开发基础 442 \18.2 Qt设计器插件 443 \18.2.1 使用Scratchpad 443 \...

    基于Linux QT的多媒体车载导航系统GPS毕业论文

    本论文首先讨论了车载导航系统的原理和硬件结构,然后分析设计了软件系统的工 作流程与实现方案;重点介绍了在 ARM处理器和 Linux 操作系统实现车载导航终端各功 能模块的详细过程。系统由 GPS数据采集并显示、地图...

    系统管理器件中的基于Linux/Qt的智能家居系统设计

    该系统采用飞思卡尔公司ARM Cortex A8系列的i.MX51处理器作为MCU,在其上移植嵌入式Linux作为软件开发平台,并利用Qt相关技术为基础设计友好的用户界面,实现了ARM板的各功能模块与服务器端的交互。系统同时具备数字...

    通用数据挖掘系统

    该系统由6大功能模块组成,其中 客户端:数据读取模块,数据匹配模块,数据发送模块; 服务器端:数据接收模块,数据保存模块和数据整合模块。 客户端: 在客户端部分,为了保护在被高速访问文件中数据不丢失,采用...

    嵌入式\(高校应用案例)北航软件学院

    3-5名学员组成一个项目小组,项目自选,项目小组提交项目报告,经审核同意后拨付项目经费,在项目指导教师指导下项目实施,项目完成应有成型产品,组织召开项目完成报告会,项目小组提交项目完成报告书,项目结束。

    点菜系统的设计与实现

    该系统由无线点菜器和接收器端2部分组成,两者之间由无线数传模块实现数据的无线传输,可实现无纸点菜,以及菜单打印和对菜品的管理。接收端部分通过无线数传模块无线接收点菜器发来的菜单数据,然后送入数据库进行...

    嵌入式Linux程序设计案例与实验教程-实例代码

    第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 ...

    嵌入式Linux程序设计案例与实验教程(配套光盘)第三部分

    第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式...

    嵌入式Linux程序设计案例与实验教程(配套光盘)第二部分

    第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式...

    嵌入式Linux程序设计案例与实验教程(配套光盘)第一部分

    第5章 嵌入式Linux开源软件移植与应用101 5.1 嵌入式WebServer GoAhead的移植与应用101 5.1.1 嵌入式Web服务器101 5.1.2 GoAhead介绍101 5.1.3 GoAhead在ARM平台上的移植102 5.1.4 页面操作102 实验5.1 嵌入式...

    基于物联网电力漏电检测、报警系统(上位机源码、下位机源码、设计报告)-电路方案

    该系统在对线路进行实时监测的同时,对意外事故做出及时反应,尽可能地减少因为线路故障而造成的人身伤害及财产损失,对有效保护人的生命安全及社会财产具有重大意义,并对电路的各种事故具有实时预防能力,对将来在...

    EEDrone开源四旋翼第一代DIY制作(飞控主板+飞控IMU+飞控固件)-电路方案

    3. 很多代码用matlab生成,不利于阅读,没有利用F4的Dsp核,效率低下,且代码结构复 杂,不利于二次开发 4. 数传速度低,只有1Hz,不能实时分析 5. IMU没有减震,需要整个飞控加减震 6. 修改程序到成功烧录过程繁琐...

Global site tag (gtag.js) - Google Analytics