作者:Summer Fang
链接:https://www.zhihu.com/question/60486611/answer/177584284
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5月31号Qt正式发布了新版本5.9,声明修复了大量的bug(2000多个?!),增加了大量的新特性,并且更稳定。

这是2015年5.6版本之后的一个LTS(长期维护,long term support)版本。 意味着在3年标准支持期内将分阶段不断提供对此版本的修复与维护,即使也会有其他新版本发布。所以这或许是一个适合开发者们开发长期项目的一个版本。

个人认为新的长期项目的开发是值得尝试从5.9开始的,但近些年的几个5.x版本中还仍有大量p2甚至少量p1级别的bug没有修复,仍有不少早期版本稳定开发的开发者迟迟无法迁移到新版本。所以享用新特性和接受潜在的未知风险还需要根据项目的要求以及侧重点进行权衡。

官方发布的新版本亮点的确不胜枚举。。

比如Qt 3D,增强对 3D图像及动画的支持,更容易与Qt Quick相结合。 并支持多种3D几何格式的插件。

比如QML性能的提升,Qt Quick Controls 2的功能增强,还有基于openGL shader cache 对QML进行类型缓存, 以及.qml / .js文件生成的代码和数据结构的缓存的支持。 这些功能将大大提高使用Qt构建的设备的启动速度。

发布新Qt Creator 4.3.0,Quick Designer里面也看以同时看到和编辑qml code了! 作为Qml项目开发者确实立刻感到了方便!

<img data-rawwidth="1399" data-rawheight="940" src="https://pic4.zhimg.com/50/v2-c3899b2daca29baf5074b42082734794_hd.jpg" class="origin_image zh-lightbox-thumb" width="1399" data-original="https://pic4.zhimg.com/v2-c3899b2daca29baf5074b42082734794_r.jpg">

还有新框架将允许Qt团队更容易创建新版本,包括修补程序和发布次要版本。 引入自动化性能回归测试,使得对Qt的监控与提高加强。

安全方面,Qt 5.9正式支持INTEGRITY RTOS。 确实越来越多的RTOS应用程亟需要更高级GUI框架来满足用户期望呢。

操作系统和硬件方面,Qt 5.9完全同时支持传统的Win32应用程序和通用App,支持Win 10的所有配置(Windows 10,Windows 10 IoT Core,Windows Mobile)。 另外还提供了对QNX 7和iMX.7的支持。(本段是官方声明的逐字翻译。作为跨平台神器,每个版本支持的系统与平台均不一样,有兴趣的请去看官方日志。我目前只使用linux Qt,关于windows平台版本的问题不要再问我啦。)

还有完全支持C ++ 11, 支持Wayland多进程, 提升了Qt Lite, 提升了Qt串行总线模块用于设备总线通信(CAN&ModBus)的通信功能,全面支持Gamepad,增加了新模块Qt remote object,还有Web,Network,定位等内容的一些更新。

总结就是眼花缭乱的新特性确实很有亮点,但并不是每个项目都有需要,旧版本仍存不少令一些开发者们很不满意待解决的问题,但对Qt来说优先级不高并且修复可能会导致牵一发而动全身。所以说寻求新特性与安全稳定的平衡,还需Qt团队和每一位开发者共同努力。

https://www.zhihu.com/question/60486611/answer/177584284

Qt5.9 官方发布的新版本亮点的确不胜枚举(而且修复2000+ bugs)的更多相关文章

  1. 官方发布的新版本Qt已经不支持XP了,要自己从源代码编译

    官方发布的新版本Qt已经不支持XP了,要自己从源代码编译,编译选项里有个-target项,用来提供XP支持的,编译时加上-target xp就可以了 http://www.qtcn.org/bbs/r ...

  2. Delphi C++Builder RAD XE Ver 版本 官方发布时间

    RAD 新版本发布时间记录 代号,官方发布时间 RIO 10.3.1,VER330,Product Ver 26 Program File 20,2019.2.14 发布 24周年 RIO 10.3, ...

  3. MIP 官方发布 v1稳定版本

    近期,MIP官方发布了MIP系列文件的全新v1版本,我们建议大家尽快完成升级. 一. 我是开发者,如何升级版本? 对于MIP页面开发者来说,只需替换线上引用的MIP文件为v1版本,就可以完成升级.所有 ...

  4. 苹果官方发布,iPhone 6 & Plus 设计素材

    苹果发布 iPhone 6 和 iPhone 6 Plus 有一段时间了,据说首日预定量达到了创纪录的1600万部,真是不可思议.苹果已经创建了一些指引,让开发者可以受益.他们已经发布了一组苹果官方的 ...

  5. 封装对MongoDB数据库的增删改查访问方法(基于MongoDB官方发布的C#驱动)

    本文利用MongoDB官方发布的C#驱动,封装了对MongoDB数据库的增删改查访问方法.先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714 编写数据库访问帮助类 ...

  6. 知名KMS模拟器的官方发布网址

    些知名KMS模拟器的官方发布网址: 本机自激活安装类KMS激活软件,容易在系统升级中被查杀失效,且在软件传播过程中极易被捆绑植入后门.病毒,不推荐尝试. Windows Loaderhttps://f ...

  7. 【Asphyre引擎】发布了新版本V101

    引擎简称还是PXL,但是这个P是Platform而不是Pascal. 修复了一些bug,增加了轻量级的随机数发生器,进一步完善了XML的解析. 不是很明白,为何把Pascal扩展库改成Platform ...

  8. [转帖] 红帽8.0 beta版本发布 内核新版本 4.18

    Red Hat Enterprise Linux 8 Beta 现已发布! https://www.oschina.net/news/101870/red-hat-enterprise-linux-8 ...

  9. Unity官方发布热更新方案性能对照

    孙广东  2016.3.11 Unity应用的iOS热更新 作者:丁治宇 Unity TechnologiesChina Agenda •  什么是热更新 •  为何要热更新 •  怎样在iOS 上对 ...

随机推荐

  1. Android ListView带CheckBox实现单选

    第1种方法: 首先是我们的bean: public class Bean { private boolean isChecked; private String msg = "这是一条测试数 ...

  2. (转)c++ 中的using namespace std是什么意思,什么时候用

    使用std命名空间 98年以后的c++语言提供一个全局的命名空间namespace,可以避免导致全局命名冲突问题.举一个实例,请注意以下两个头文件: // one.hchar func(char);c ...

  3. mybatis-generator使用

    开发工具:eclipse,依赖环境 :maven 首先在eclipse marketplace中安装mybatis-generator,如图: 安装后需要重启. 新建一个maven项目MybatisG ...

  4. 6.3 Android硬件访问服务APP代码

    以下步骤是操作MainActivity类 1.导入包 import android.os.ILedService 2.添加成员变量 private ILedService iLedService = ...

  5. linux 查看 *.a *.so 符号表(zt)

    objdump -tT libName.so | grep symbel symbolName nm -D libName.so | grep symbel symbolName 很多非常熟悉wind ...

  6. SDL2源码分析1:初始化(SDL_Init())

    ===================================================== SDL源码分析系列文章列表: SDL2源码分析1:初始化(SDL_Init()) SDL2源 ...

  7. Android 控件EditText的setOnEditorActionListener方法的理解

    需要注意的是 setOnEditorActionListener这个方法,并不是在我们点击EditText的时候触发,也不是在我们对EditText进行编辑时触发,而是在我们编辑完之后点击软键盘上的回 ...

  8. java基本类型(内置类型)取值范围

    例1: public class PrimitiveTypeTest { public static void main(String[] args) { // byte System.out.pri ...

  9. DisplayPageBoundaries 打开word后自动将页面间空白隐藏 (auto+定时器)

    每次打开文档都要鼠标点击页面间空白处,将其隐藏 尝试过在 AutoOpen, AutoExec等宏中添加 ActiveWindow.View.DisplayPageBoundaries = False ...

  10. Android SqlDelight具体解释和Demo样例

    一.简单介绍 SQLDelight 和 SqlBrite 是 Square 公司推出的一个 Android 平台数据库解决方式. 在了解这个两个东西前,必须先得有Andorid的Sqlite的知识(S ...