- 作为一个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 和其他模块一样,是一等公民!!
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
|
废弃
|
参考
分享到:
相关推荐
这可能包括Qt的模块结构,如 QtGui、QtWidgets、QtQuick、QtNetwork、QtSql等,这些模块分别用于图形用户界面、窗口小部件、快速UI设计、网络通信和数据库操作。PPT可能会详细讲解如何安装和配置Qt开发环境,以及...
6. **项目结构**:一个典型的QT模块化项目可能包含如下结构: - `MainProject`: 主工程目录,包含主`.pro`文件。 - `SubModule1`: 子模块1的目录,有自己的`.pro`和`.pri`文件。 - `SubModule2`: 子模块2的目录,...
1. **QT5框架结构**:QT5由多个模块组成,如Core、Gui、Widgets、Network、Sql等,每个模块都有特定的功能,如Core负责基础数据结构,Widgets提供图形用户界面元素,Network支持网络通信,Sql处理数据库连接。...
同时,Qt5加强了性能,优化了内存管理,并引入了更好的模块化结构。 - **Qt6** 是对Qt5的升级,进一步提高了性能,特别是在图形渲染和多线程方面。Qt6还更新了API,使其更加现代化和一致,同时也移除了不推荐使用...
- **介绍**:Qt 由多个模块组成,每个模块负责不同的功能领域。 - **关键知识点**: - Qt 核心模块的功能介绍。 - 其他常用模块概述,如 Qt Widgets、Qt Quick 等。 4. **MainWindow 组件** - **介绍**:`...
2. **模块化设计**:Qt 5 采用了模块化的设计思路,开发者可以根据项目的实际需求选择合适的模块来使用,这有助于减小应用的体积并提高加载速度。 3. **高性能**:Qt 5 引入了许多性能优化措施,如新的图形渲染引擎...
QML,全称Quick Markup Language,是Qt的一个重要组成部分,它允许开发者用声明式语言来创建富图形用户界面。在本文中,我们将深入探讨QML的各个方面,包括基本概念、语法特性、组件库以及与C++的集成。 QML是一种...
- 解释构成Qt5的基础模块和组件,如Widgets、Core、Network等。 - 描述每个模块的作用和应用场景。 - **1.4 Qt Project** - 指导如何创建一个基本的Qt项目,并配置开发环境。 - 包括设置Qt版本、编译器选择等。 ...
QtQuick是Qt中的一个重要组成部分,它基于QML(Qt Meta Object Language)和JavaScript,允许快速构建响应式、动态的用户界面。 **QML——声明式UI设计** QML是一种声明式的语言,主要用于构建用户界面。它的语法...
Qt库由一系列模块组成,包括Core(核心)、Gui(图形用户界面)、Widgets(小部件)、Network(网络)、Sql(数据库)、Multimedia(多媒体)等。在Qt-5.12.12源码中,你可以找到这些模块的实现,每个模块都包含了...
软件框架: 主要由相机图像采集模块、图像处理模块、点云处理模块组成 Qt程序交互界面 相机采集图像交互界面 相机和光平面标定 点云预览 相机sdk图像采集 打开相机初始化 实时预览图像 采集图像 设置相机參数触发...
在Qt5中,加载和显示shape文件涉及到地理信息系统(GIS)和图像处理的知识。Shape文件是一种常见的GIS数据格式,用于存储地理图形数据,如点、线、多边形等。Qt5作为一个强大的跨平台应用程序开发框架,提供了丰富的...
Qt5 Cadaques是一款基于C++语言的跨平台应用程序开发框架,以其强大的功能、灵活性及高效的性能著称。本指南将涵盖从Qt5的基础操作到高级技术的各个方面。 #### 二、Qt5概述 1. **序言**:简要介绍了Qt5的历史和...
QT6作为QT5的升级版,不仅保持了原有的优点,还引入了性能优化、新的API和改进的模块化结构,使得开发者能够更高效地创建桌面和移动应用程序。 在描述中提到的"Demo"是一个C++编写的示例程序,它演示了如何应用这些...
在Qt中解析DXF(Drawing Exchange Format)文件,通常涉及到图形处理和数据解析,这涉及到C++编程语言以及Qt库的特定模块。 DXF是一种用于交换CAD(计算机辅助设计)数据的格式,由Autodesk公司为AutoCAD开发。它...
《Qt5开发及实例(第2版)》是一本深入探讨Qt5框架的权威书籍,其配套光盘内容包括了丰富的PPT教程和全部实例源码,旨在帮助开发者全面掌握Qt5的使用技巧和实践经验。这本书分为两卷,本部分讨论的是卷二,即第二...
这个模块可能涵盖了地图数据结构的定义、节点信息的表示、启发式函数的计算、优先队列的实现以及与QT5用户界面的交互逻辑等关键部分。 总而言之,这个项目成功地在QT5平台上实现了一个高效的路径规划系统。通过结合...
在Qt开发中,QtCharts模块是一个强大的工具,用于创建各种数据可视化图表,如柱状图、线图、饼图等。本教程将深入探讨如何利用QtCharts库来绘制柱形图,这对于数据展示和分析非常有帮助。我们将从以下几个方面进行...
《Qt及Qt Quick开发实战精解——以俄罗斯方块为例》 Qt是一个强大的跨平台应用程序开发框架,由Trolltech公司开发,后被Nokia收购并开源。它提供了丰富的库和工具,支持C++和QML(Qt Meta Language)语言,使得...
QT和QT Quick是Qt框架的两个重要组成部分,用于开发跨平台的桌面和移动应用程序。Qt是一个功能强大的C++库,提供了丰富的图形用户界面(GUI)工具包,而Qt Quick则引入了QML语言,用于更高效、更直观地设计用户界面...