QT4、5、6各版本之间的特点和选择

文章目录


0 引入

QT用的最多的是QT5系列,qt6系列目前虽然是一个大版本,增加了更多的系列,但是不稳定且要求win10以及以上版本


1、稳定版本

Qt4: 4.8.7 4.X 系列终结版本
Qt5 : 5.6 LTS 长期支持版本
Qt5: 5.9 LTS 长期支持版本
Qt5: 5.12 LTS 长期支持版本
Qt5: 5.15 LTS 长期支持版本


2、各版本冷知识(持续补充)

1、Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的(很多嵌入式板子还是用Qt4.8),其实该版本是和Qt5.5差不多时间发布的。(大版本之间存在同时开发维护)

2、 Qt5.6.3最最后支持xp系统的长期支持版本,Qt5.7.0是最后支持xp系统的非长期支持版本。

3、 Qt5.12.3是最后提供mysql数据库插件的版本,往后的版本需要自行编译对应的mysql数据库插件,官方安装包不再提供。

4、 Qt5.12.5是最后样式表性能最高的版本,经过酷码大佬查阅代码发现此后版本的样式表源码中为了修复一个bug做了循环嵌套设置,导致性能急剧下降,界面越多性能暴降10倍以上。

5、Qt5.14.2是最后提供二进制安装包的版本,后面的版本都需要在线安装。

6、 Qt5.15系列是最后支持win7的版本,后面的Qt6系列版本需要更改源码编译才能支持,这对于小白来说难于上青天。_Qt_5.15
QFile :: moveToTrash,将文件移动到回收站(以前只能直接删除文件)
QThreadPool :: start、tryStart,开始支持lambda
添加了静态模板QDebug :: toString函数,该函数将给定的对象传输到对字符串进行操作的QDebug实例中,然后返回该字符串。
QImage 的缩放和转换的许多方法都升级成多线程的。
QNetworkAccessManager 开始支持超时设置。
QWebEngineHistory 添加 clear
QWebSocket 开始支持设置最大帧大小和消息大小。
Qt Android 完善了开放文档。


3、5.0系列主要版本特性

Qt 5.15 LTS 维护至 2023年5月29日
QFile :: moveToTrash,将文件移动到回收站(以前只能直接删除文件)
QThreadPool :: start、tryStart,开始支持lambda
添加了静态模板QDebug :: toString函数,该函数将给定的对象传输到对字符串进行操作的QDebug实例中,然后返回该字符串。
QImage 的缩放和转换的许多方法都升级成多线程的。
QNetworkAccessManager 开始支持超时设置。
QWebEngineHistory 添加 clear
QWebSocket 开始支持设置最大帧大小和消息大小。
Qt Android 完善了开放文档。
Qt 5.14
https://wiki.qt.io/New_Features_in_Qt_5.14
更新了High-DPI支持。
QTextDocument支持读写Markdown格式,以替代HTML。
添加了独立于图形API的Scenegraph渲染器的第一个预览。这允许在Vulkan,Metal或Direct3D 11而不是OpenGL上运行合格的Qt Quick应用程序。

Qt 5.13
https://wiki.qt.io/New_Features_in_Qt_5.13
Windows 平台开始自带支持 OpenSSL
新增平台 Qt for WebAssembly
安卓平台 的QFile 开始支持 Urls

Qt 5.12 LTS 维护至 2021年12月6日
https://wiki.qt.io/New_Features_in_Qt_5.12
基于Windows 8及更高版本上的Windows指针输入消息,以统一的实现方式替代了平板电脑/触摸屏/触摸板/鼠标输入的处理。

Qt 5.11
https://wiki.qt.io/New_Features_in_Qt_5.11
QML性能大幅增强。
Qt 3D CPU 占用大幅减少。
Window 平台更新了易用性支持。

Qt 5.10
https://wiki.qt.io/New_Features_in_Qt_5.10
添加了QIODevice :: skip()
添加了跨平台Vulkan启动器:QVulkanInstance
QImage现支持超过2G的数据。
QWidget :: createWindowContainer()现在可在Android上使用。
QOpenGLWidget现在可用于呈现和读取(抓取)屏幕外内容。
添加了AA_DisableWindowContextHelpButton属性,可防止Windows对话框上的自动“这是什么”按钮。
新方法QWebEnginePage :: download用于以编程方式开始下载。
新增模块 Qt Speech 用于文本转语音。

Qt 5.9 LTS 已于2020年5月31日终止维护,不建议使用及其以前的版本,目前我已经弃用了。

4、建议

4.1
而且 Qt6 为了赶进度,早期版本里缺少了很多模块,例如 图表、数据可视化、WebEngine
所以也没必要急着尝鲜 Qt 6 ,建议等完整版出来后,再升级也不迟。
4.2
Qt 5.6 是最后支持 XP 的版本。
Qt 5.9 作为LTS也已经在2020年5月31日停止更新了,所以建议使用目前依旧在更新的LTS:5.12 与 5.15。
能直接使用 Qt 5.15 当然是最好的,若实在有难处,就用 5.12 吧,但至少别再用 Qt 5.9 之前的版本了。

如果你需要用到 QtWebkit,则只能用 Qt 5.5及其以前的版本。
如果你需要 SSL 的支持,建议升级至 5.15,因为 5.13 开始已自支持 OpenSSL 1.1 及其以上。
如果你常用 QImage,建议升级至 5.15,因为缩放和转换的许多方法都升级成多线程的。
如果你常用 QtQuick,建议升级至 5.15,因为 5.14 开始 QtQuick 不再局限于 OpenGL 引擎加速。
如果你常用 QNetworkAccessManager,建议升级至 5.15,因为开始支持超时设置 setTransferTimeout
如果你发行在 Windows 平台,建议升级至 5.15,因为 5.14 开始对高DPI的设备有更好的支持。
如果你需要开发 安卓APP,建议升级至 5.15,因为该版本完善了安卓开发文档。
4.3
QT6 目前支持的C++17,以及3D渲染,貌似还有协程的概念;
如果使用QML开发,主要在5系列12以上开发,毕竟后面的QML这一块的开发相对完善。

在这里插入图片描述


  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Qt6 QML实时开发是基于Qt6平台的快速开发框架,它利用Qt Quick语言和QML技术,为开发人员提供了设计和开发图形用户界面(GUI)所需的各种工具。QML是一种描述用户界面的语言,借助它可以轻松地创建各种精美的用户界面。 Qt6 QML实时开发的主要优点是其实时性和高效性。它可以让开发人员在软件开发过程中实时预览结果,使开发效率大大提高。同时,Qt6 QML实时开发还支持快速迭代和动态调整,便于开发人员随时调整和修改界面,同时保证了UI的高度灵活性和可扩展性。 Qt6 QML实时开发还提供了丰富的控件和组件库,这些库都是经过优化和测试的,能够让开发人员快速构建和布局GUI和用户交互界面。此外,Qt6 QML实时开发还支持跨平台开发,可用于开发Android、iOS、Windows、macOS和Linux等平台的应用程序。 综上所述,Qt6 QML实时开发是一种快速、高效、灵活的开发框架,在图形用户界面开发中应用广泛,也是未来GUI开发的一个趋势。它不仅可以大大提高开发效率,同时还提供了丰富的控件和组件,支持跨平台开发,是一款非常有价值的开发工具。 ### 回答2: Qt6 QML是一个开发桌面和移动应用程序的框架,其实时开发方案也得到了广泛的支持和认可。Qt6 QML通过其强大的功能和易于使用的界面设计,使开发人员可以更加方便和快速地开发出高质量的应用程序。 在Qt6 QML实时开发中,其主要特点包括: 1. 设计驱动型开发 Qt6 QML采用的是设计驱动型开发,开发人员可以直接在设计界面中进行开发与调试,而不需要手动写代码。这种开发方式可以大大提高开发效率,同时也可以有效降低错误发生的概率。 2. 实时预览界面效果 Qt6 QML具有实时预览界面效果的功能,这意味着开发人员可以在编写代码的同时观察到其效果,从而快速定位和修复问题。这种实时预览的功能也能够提高开发效率,并且可以让开发过程更加享受。 3. 基于组件的开发 Qt6 QML支持基于组件的开发,可以通过在不同的组件之间进行组合,以构建更高级的组件和应用程序。这种基于组件的开发方式,可以大大提高代码的可重用性,减少代码的冗余度。 综上所述,Qt6 QML实时开发是一个高效、方便和灵活的开发工具,可以使开发人员更加轻松和快速地开发出高质量的应用程序。同时,其具有丰富的功能和易于使用的界面设计,也可以让开发过程更加有趣和愉悦。 ### 回答3: Qt6 QML实时开发,指的是使用Qt6和QML技术进行实时开发的过程。Qt6是一种跨平台的应用程序框架,它可以帮助开发者快速创建高性能、现代化的应用程序,而QML则是一种基于JavaScript的用户界面语言,可以帮助开发者快速构建交互式的用户界面。因此,Qt6 QML实时开发可用于开发实时交互应用程序,如数据可视化、游戏、嵌入式系统等领域。 在Qt6 QML实时开发中,开发者可以使用Qt Creator等集成开发环境(IDE)轻松创建QML应用程序。QML语言支持丰富的界面元素和动画效果,使得界面设计非常灵活。此外,Qt6提供了丰富的C++类库和工具,方便开发者实现高性能的后台逻辑和各种设备的接口。 Qt6 QML实时开发的优势在于快速迭代。开发者可以使用实时预览功能,即在编辑代码时即时看到修改后的效果,从而提高开发效率和设计灵活性。此外,由于Qt6和QML都为开发者提供了丰富的功能和现成的库文件,因此可以极大地减少开发时间和成本。 总之,Qt6 QML实时开发是一种高效的技术和方法,可用于实现高性能、现代化的应用程序,为开发者提供快速迭代和灵活性,是目前最流行的开发方式之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值