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

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++方面发展却让人担忧

相关推荐

    Qt5开发及实例配套资源

    这可能包括Qt的模块结构,如 QtGui、QtWidgets、QtQuick、QtNetwork、QtSql等,这些模块分别用于图形用户界面、窗口小部件、快速UI设计、网络通信和数据库操作。PPT可能会详细讲解如何安装和配置Qt开发环境,以及...

    QT模块化编程 pro pri 子工程 使用

    6. **项目结构**:一个典型的QT模块化项目可能包含如下结构: - `MainProject`: 主工程目录,包含主`.pro`文件。 - `SubModule1`: 子模块1的目录,有自己的`.pro`和`.pri`文件。 - `SubModule2`: 子模块2的目录,...

    qt5开发实例

    1. **QT5框架结构**:QT5由多个模块组成,如Core、Gui、Widgets、Network、Sql等,每个模块都有特定的功能,如Core负责基础数据结构,Widgets提供图形用户界面元素,Network支持网络通信,Sql处理数据库连接。...

    Qt5 Qt6 功能清单说明

    同时,Qt5加强了性能,优化了内存管理,并引入了更好的模块化结构。 - **Qt6** 是对Qt5的升级,进一步提高了性能,特别是在图形渲染和多线程方面。Qt6还更新了API,使其更加现代化和一致,同时也移除了不推荐使用...

    学习资料Qt5

    - **介绍**:Qt 由多个模块组成,每个模块负责不同的功能领域。 - **关键知识点**: - Qt 核心模块的功能介绍。 - 其他常用模块概述,如 Qt Widgets、Qt Quick 等。 4. **MainWindow 组件** - **介绍**:`...

    Mastering.Qt.5.pdf

    2. **模块化设计**:Qt 5 采用了模块化的设计思路,开发者可以根据项目的实际需求选择合适的模块来使用,这有助于减小应用的体积并提高加载速度。 3. **高性能**:Qt 5 引入了许多性能优化措施,如新的图形渲染引擎...

    《QmlBook》_QT5_中文版_qt5qml_qml_教程_

    QML,全称Quick Markup Language,是Qt的一个重要组成部分,它允许开发者用声明式语言来创建富图形用户界面。在本文中,我们将深入探讨QML的各个方面,包括基本概念、语法特性、组件库以及与C++的集成。 QML是一种...

    Qt5入门教程

    - 解释构成Qt5的基础模块和组件,如Widgets、Core、Network等。 - 描述每个模块的作用和应用场景。 - **1.4 Qt Project** - 指导如何创建一个基本的Qt项目,并配置开发环境。 - 包括设置Qt版本、编译器选择等。 ...

    Qt及QtQuick 与 源码

    QtQuick是Qt中的一个重要组成部分,它基于QML(Qt Meta Object Language)和JavaScript,允许快速构建响应式、动态的用户界面。 **QML——声明式UI设计** QML是一种声明式的语言,主要用于构建用户界面。它的语法...

    Qt-5.12.12源码

    Qt库由一系列模块组成,包括Core(核心)、Gui(图形用户界面)、Widgets(小部件)、Network(网络)、Sql(数据库)、Multimedia(多媒体)等。在Qt-5.12.12源码中,你可以找到这些模块的实现,每个模块都包含了...

    基于Qt+Opencv+PCL开发的单目线结构光3D点云重建软件(源码+图片),开箱即用

    软件框架: 主要由相机图像采集模块、图像处理模块、点云处理模块组成 Qt程序交互界面 相机采集图像交互界面 相机和光平面标定 点云预览 相机sdk图像采集 打开相机初始化 实时预览图像 采集图像 设置相机參数触发...

    Qt5加载shape文件并显示图片

    在Qt5中,加载和显示shape文件涉及到地理信息系统(GIS)和图像处理的知识。Shape文件是一种常见的GIS数据格式,用于存储地理图形数据,如点、线、多边形等。Qt5作为一个强大的跨平台应用程序开发框架,提供了丰富的...

    qt5 cadaques中文版

    Qt5 Cadaques是一款基于C++语言的跨平台应用程序开发框架,以其强大的功能、灵活性及高效的性能著称。本指南将涵盖从Qt5的基础操作到高级技术的各个方面。 #### 二、Qt5概述 1. **序言**:简要介绍了Qt5的历史和...

    QT样式表45套,带Demo及样式表,一键切换

    QT6作为QT5的升级版,不仅保持了原有的优点,还引入了性能优化、新的API和改进的模块化结构,使得开发者能够更高效地创建桌面和移动应用程序。 在描述中提到的"Demo"是一个C++编写的示例程序,它演示了如何应用这些...

    Qt 解析 dxf 文件源码

    在Qt中解析DXF(Drawing Exchange Format)文件,通常涉及到图形处理和数据解析,这涉及到C++编程语言以及Qt库的特定模块。 DXF是一种用于交换CAD(计算机辅助设计)数据的格式,由Autodesk公司为AutoCAD开发。它...

    Qt5开发及实例(第2版)分卷二

    《Qt5开发及实例(第2版)》是一本深入探讨Qt5框架的权威书籍,其配套光盘内容包括了丰富的PPT教程和全部实例源码,旨在帮助开发者全面掌握Qt5的使用技巧和实践经验。这本书分为两卷,本部分讨论的是卷二,即第二...

    A星算法代码QT5运行

    这个模块可能涵盖了地图数据结构的定义、节点信息的表示、启发式函数的计算、优先队列的实现以及与QT5用户界面的交互逻辑等关键部分。 总而言之,这个项目成功地在QT5平台上实现了一个高效的路径规划系统。通过结合...

    Qt开发之QtCharts柱形图绘制

    在Qt开发中,QtCharts模块是一个强大的工具,用于创建各种数据可视化图表,如柱状图、线图、饼图等。本教程将深入探讨如何利用QtCharts库来绘制柱形图,这对于数据展示和分析非常有帮助。我们将从以下几个方面进行...

    Qt及Qt Quick开发实战精解俄罗斯方块QT5.7.1源码

    《Qt及Qt Quick开发实战精解——以俄罗斯方块为例》 Qt是一个强大的跨平台应用程序开发框架,由Trolltech公司开发,后被Nokia收购并开源。它提供了丰富的库和工具,支持C++和QML(Qt Meta Language)语言,使得...

    QT和QT quick实战(附项目源码)

    QT和QT Quick是Qt框架的两个重要组成部分,用于开发跨平台的桌面和移动应用程序。Qt是一个功能强大的C++库,提供了丰富的图形用户界面(GUI)工具包,而Qt Quick则引入了QML语言,用于更高效、更直观地设计用户界面...

Global site tag (gtag.js) - Google Analytics