Qt/C++ - LGPL开源Windows Linux MacOS Android GUI开发框架历史版本一览
Qt 是全球流行的跨平台 C++ GUI (图形用户界面) 应用程序及非 GUI (图形用户界面) 应用程序开发框架,最先于 1991 年由奇趣科技发布。目前,Qt5 采用 LGPL 商业双许可协议,支持 Microsoft Windows、GNU/Linux、Mac OS X、Android、iOS、WinCE、UNIX 家族等平台。
Qt 向开发者提供了建立艺术级 GUI (图形用户界面) 所需的所有功能,广泛用于开发 GUI 程序 (或非 GUI 程序),譬如:控制台工具、服务器。Qt 开发框架是面向对象的,它使用特殊代码生成扩展(称为元对象编译器 Meta Object Compiler, MOC)及一些宏,易于扩展,允许组件编程。Qt5 添加了 3D 图形处理功能。
基本上,Qt 同 X11 上的 GTK、Motif、Openwin 和 Windows 上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 支持更多的平台(包括 Microsoft Windows、GNU/Linux、Mac OS X、Android、iOS、WinCE、UNIX 家族等),面向对象且模块化程度更高(Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单),丰富的 API(Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式处理功能),支持 2D/3D 图形渲染,支持 OpenGL、大量开发文档、XML 支持等。
Qt 分发时,分商业版和开源版 2 种: 商业版:提供给商业软件开发者。会提供传统商业软件发行版,并提供在协议有效期内的免费升级和技术支持服务。
开源版:仅为开发自由开源软件, 提供和商业版本同样的功能。在 LGPL 许可下使用,是免费的。
最新长期支持版本 Long Term Supported (LTS) 为 Qt5.9,旧 LTS 版 Qt5.6、Qt4.8 已停止支持。对 Qt5.9 版本的支持将长达 3 年时间,在这段时间里,会持续提供更新和 bug 修复。
高效 Python Qt/C++ HTML5 编程 静态网站站群 GUI文档翻译 "数字 IDE 专业版" http://idepro.digitser.cn/ http://forum.digitser.cn/thread-2184-1-1.html
2008 年奇趣科技被诺基亚公司收购,QT 因此也成为诺基亚旗下编程工具。
从 2009 年 03 月发布的 Qt 4.5 起,诺基亚为 Qt 增添了开源 LGPL 授权选择。
从 2009 年 05 月 11 日起,诺基亚 Qt Software 宣布 Qt 源代码库面向公众开放,Qt 开发人员可通过为 Qt 以及与 Qt 相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造 Qt 未来的发展。为便于这些内容的管理,Qt Software 启用了基于 Git 和 Gitorious 开源项目的 Web 源代码管理系统。
Qt Creator 在 LGPL 2.1 版授权下有效,且接受代码贡献。
2009年 12 月 01 日,诺基亚发布 Qt 4.6。Qt 4.6 首次包含了对 Symbian 平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹) 和即将上市的 Maemo 6。此外还为实时操作系统 QNX 和 VxWorks 提供了网络社区支持。对 Maemo 5 的支持已进入研发阶段,其技术预览版第二版于 2009 年 12 月 01 日发布。
Qt 4.6 性能提升,主要包括:一个经过高度优化、重新编写的 Qt Graphics View 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。
2012 年 Qt 被 Digia 收购。
2014 年 12 月 09 日正式发布 Qt 5.4,最后一个支持 WebKit 的版本。Qt 5.4 引入对 Windows Phone 的支持,新增基于 Chromium 浏览器引擎的 Qt WebEngine,以实现对 Qt 与 HTML 5 混合开发的支持。Qt 5.4 引入了对 Windows Store Apps 的支持,包括 Win RT 和 Windows Phone 8.1,并改进了对 Android 和 iOS 平台的支持。
2015 年 07 月 01 日正式发布 Qt 5.5,完美支持微软 Windows 10 系统。Qt WebKit、Qt Quick1 和 Qt Script 从 Qt 5.5 起弃用,虽还可使用,建议以 Qt WebEngine、Qt Quick 和 Qt QML 替代,这些能完全兼容 JavaScript 引擎。
2016年 03 月 16 日正式发布 Qt 5.6。Qt5.6 是 Qt5 首个 LTS 版本,主要用来兼容以前的 Qt 版本。Qt5.6 支持 Windows 10,全面支持 Win32 及 WinRT 的 API,Qt WebEngine 基于 Google Chromium 45,支持高分辨率。C++11 的很多新特性以及新的编程技术概念,主要在未来的 Qt5.8 版本中体现,Qt5.8 将不再兼容 C++98,转而全面支持 C++11 语言新特性。
2017 年 05 月 31 日正式发布 Qt 5.9,不再兼容 C++98,全面支持 C++11,Qt5.9 是 Qt5 第二个 LTS 版本。移除 QtScript 模块,新增允许 Qt 游戏应用响应游戏手柄输入 QtGamepad 模块。QRegularExpression 仅支持 PCRE2 库 v10.20 及之后版本,不再支持 PCRE1 库。添加可在线程池上实现非阻塞、关键帧动画,并从 Blender 导出动画的动画子系统。制作可轻松添加 Wavefront OBJ PLY FBX 格式及其他格式的 Mesh 类型。QtWebEngine 基于 Google Chromium 56,采用 GN 构建系统。
2018 年 05 月 22 日正式发布 Qt 5.11,不再支持 MSVC 2013、macOS 10.10、QNX 6.6,QtSerialBus 模块新增 J2534 Pass-Thru CAN 插件,用于计算机和车辆之间的通信,Qt3D 模块可通过使用 QAbstractClipAnimator 的 normalizedTime 属性擦除动画,QtWebEngine 基于 Google Chromium 65,在 Windows 上现支持 MSVC 2017。
软件优势
01、跨平台 Qt 支持下列操作系统: MS/Windows
Windows 95、98、NT 4.0、ME、2000、XP 、Vista、Win7、win8、win2008、win10、WP
Unix/X11 Linux、Ubuntu、Sun Solaris、HP-UX、Digital UNIX (OSF/1, Tru64)、Irix、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、Free BSD、BSD/OS、SCO、OS 390、QNX 等
Macintosh Mac OS X、iOS
Embedded 有帧缓冲 (framebuffer) 支持的嵌入式 Linux 平台,Windows CE
Symbian
Symbian^3 Symbian Anna Symbian Belle
Google
Android
02、面向对象 良好的封装机制使 Qt 的模块化程度非常高,可重用性好,对于开发用户来说是非常方便的。Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各元件间的协同工作变得十分简单。
03、丰富 API Qt 包括多达 250 个以上 C++ 类,还提供了基于模板的 collections、serialization、file、I/O device、directory management、date/time 类。甚至还包括正则表达式处理功能。
04、支持 2D/3D 图形渲染,支持 OpenGL 支持编写 2D/3D 绘图、渲染软件。
05、大量开发文档
Qt 官方帮助文档编制非常详细,若有不明白的地方,请先查阅再搜索其它技术参考资料。
06、支持 XML
拥有支持 "读-写" XML 文档流的专用 QtXml 模块。
Qt Creator
在发布 Qt 4.6 的同时,作为 Qt 跨平台开发 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 1.3 和 Qt 4.6 共同构成了 Qt SDK,包含了开发跨平台应用程序所需的全部功能。
Qt Creator 是一个用于开发 Qt 的轻量级跨平台集成开发环境。Qt Creator 可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触 Qt 框架的开发人员能迅速上手和操作。即使不开发 Qt 应用程序,Qt Creator 也是一个简单易用且功能强大的 IDE。
Qt Creator 包含一套用于创建和测试基于 Qt 应用程序的高效工具,包括:
01、高级 C++ 代码编辑器
02、上下文感知帮助系统
03、可视化调试器
04、源代码管理
05、项目和构建管理工具
06、Qt Linguist Qt Linguist 被称为 Qt 语言专家。它的主要任务是读取翻译文件、为翻译人员提供友好翻译界面。Qt Linguist 是用于界面国际化的重要工具。
Linguist 工具从 4.5 版开始可以支持 Get text 的 PO 文件格式。
版本历史
时间 | 事件 | 说明 | 备注 | 1991 | Haavard Nord 和 Eirik Chambe-Eng 开始开发支持 X11 和 Windows 的 Qt | | | 1994
| 奇趣科技公司成立 | | | 1995
| 奇趣科技公司发布 QT | | | 1996 | Matthias Ettrich 创建 KDE 项 | Matthias 现为诺基亚 Qt 发展框架工作 | | 1998.04.05 | Trolltech 程序员 5 天内将 Netscape 5.0 从 Motif 移植到 Qt | | | 1998.04.08 | KDE Free Qt 基金会成立 | | | 1998.07.09 | Qt 1.40 发布 | | | 1998.07.12 | KDE 1.0 发布 | | | 1999.03.04 | QPL 1.0 发布 | | | 1999.03.12 | Qt 1.44 发布 | | | 1999.06.25 | Qt 2.0 发布 | | | 1999.09.13 | KDE 1.1.2 发布 | | | 2000.03.20 | 嵌入式 Qt 发布 | | | 2000.09.06 | Qt 2.2 发布
| | | 2000.10.05 | Qt 2.2.1 发布 | | | 2000.10.30 | Qt/Embedded 开始使用 GPL 协议
| | | 2000.09.04
| Qt free edition 开始使用 GPL 协议 | | | 2008
| Nokia 从 Trolltech 公司收购 Qt 并增加 LGPL 授权模式 | | | 2009.03 | Nokia 发布 Qt 4.5,并为 Qt 增添开源 LGPL 授权选择 | | | 2009.05.11 | Nokia 宣布 Qt 源代码库面向公众开放 | | 启用基于 Git 和 Gitorious 开源项目的 Web 源代码管理系统 | 2009.12.01 | Nokia 发布 Qt 4.6 | | | 2011
| Digia 从 Nokia 收购了 Qt 商业版权
| 从此 Nokia 负责 Qt on Mobile, Qt Commercial 由 Digia 负责 |
| 2011.02.22 | Qt for Android (Alpha) 发布 | | | 2012.08.09 | 诺基亚宣布将 Qt 软件业务出售给芬兰 IT 服务公司 Digia | | NOKIA 停止 Meltemi 系统开发,QT 部门被解散 | 2013.07.03 | Digia 公司 Qt 团队宣布 Qt 5.1 正式版发布 | | | 2013.12.11 | Digia 公司 Qt 团队宣布 Qt 5.2 正式版发布 | | | 2013.12.30 | Qt for iOS 发布
| | | 2014.04 | Digia 公司 Qt 团队宣布 Qt Creator 3.1.0 正式版发布 | | | 2014.05.20 | Digia 公司 Qt 团队宣布 Qt 5.3 正式版发布 | | | 2014.12.09
| 正式发布 Qt 5.4,引入对 Windows Phone 的支持
| 新增基于 Chromium 浏览器引擎的 Qt WebEngine
以实现对 Qt 与 HTML 5 混合开发 | 最后一个支持 WebKit 版本 | 2015.07.01 | Qt 5.5 正式发布,支持 Windows 10 | 分 App Development、Device Creation、Open Source 开源 LGPL 2.1/3 或 GPL 版本
Bluetooth LE API 先前已出现在 Qt 5.4 中,现是最终版
全面支持 Android、Mac OS X、iOS 或 Linux 后端 | Qt WebKit、Qt Quick 1 和 Qt Script 废弃但还会继续提供
以 Qt WebEngine、Qt Quick 和 Qt QML 替代
完全兼容 JavaScript 引擎 | 2016.03.16 | Qt 5.6 正式发布
支持 Windows 10,
全面支持 Win32 及 WinRT 的 API
Long Term Supported (LTS) 长期支持版本
| Qt WebEngine 基于 Google Chromium 45,支持高分辨率
Qt5.6 是 LTS 版本,主要用来兼容以前的 Qt 版本
C++11 的很多新特性以及新的编程技术概念,主要在未来的 Qt5.8 版本中体现
Qt5.8 将不再兼容 C++98,转而全面支持 C++11 语言新特性 | 结束上一 LTS 版本 Qt4.8 支持
支持将长达 3 年时间,会持续提供更新和 bug 修复 | 2017.01.23 | Qt 5.8 正式发布
优化性能,减少物联网占用空间
建立多进程设备,状态机可轻松融入任何一款 Qt 应用
| Qt 5.8 可与设备及使用 Qt Serial Bus API 外围融合及沟通
Qt 文本-话语的功能提升了联接性,改善了应用的用户体验设计(UX)
通过 Qt Creator, Qt Quick XML QML 及 SCXML 格式可定义有限状态机
Qt Creator 图像工具可编辑状态、子状态、转换和各类型的其它相关属性
Qt 网络真实性模块可验证联接至云的应用-设备,使用第三方网络服务更快速
有限状态机可帮助减少无用系统行为,是更程式化系统设计方式,可验证工作流 | 不再兼容 C++98,全面支持 C++11。
支持多窗口多 UI 进程管理行业标准 Wayland
屏幕区域还可分为多个不同功能单元,或独立应用程序
| 2017.05.31
| Qt 5.9 正式发布
Long Term Supported (LTS) 长期支持版本 | 移除 QtScript 模块,新增允许 Qt 游戏应用响应游戏手柄输入 QtGamepad 模块
QRegularExpression 仅支持 PCRE2 库 v10.20 及之后版本,不再支持 PCRE1 库
添加可在线程池上实现非阻塞、关键帧动画,并从 Blender 导出动画的动画子系统
制作可轻松添加 Wavefront OBJ PLY FBX 格式及其他格式的 Mesh 类型
| 不再支持 Windows8.1 RT 平台
QtWebSockets 支持处理外部 QTcpSocket 对象
QtWebEngine 基于 Google Chromium 56,采用 GN 构建系统
| 2017.12.07 | Qt5.10 正式发布 | OpenSSL 使用库 v1.1
跨平台支持 OpenGL ES 3.2 APIQImage 现支持 2GB 以上像素数据
Qt Connectivity 模块 UWP 蓝牙、蓝牙 LE 后端开始支持 Windows 10
Qt Quick 新增 ETC1-2 平台从 .pkm 文件加载 ETC1-2 压缩纹理的 Image 元素
| QtWebEngine 基于 Google Chromium 60
下载项新增 "暂停/恢复" 功能
添加触发下载 QWebEnginePage::download
更新早期 QWebPage 所支持的 QWebEnginePage 动作 | 2018.5.22 | Qt5.11 正式发布 | Qt5.11 将不再支持 MSVC 2013、macOS 10.10、QNX 6.6
QtGui 模块可更好地支持 Windows 桌面高 DPI 显示小部件主题
QtSerialBus 模块新增 J2534 Pass-Thru CAN 插件,用于计算机和车辆之间的通信
Qt3D 模块可通过使用 QAbstractClipAnimator 的 normalizedTime 属性擦除动画
| QtWebEngine 基于 Google Chromium 65
在 Windows 上现支持 MSVC 2017 | | | | | | | | |
扫一扫关注 德云社区
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
|