Qt最好用评价最高的是哪个版本?
来源: http://www.qtcn.org/bbs/read-htm-tid-89455.html
///
Qt4: 4.8.7 4.X 系列终结版本
Qt5 : 5.6 LTS 长期支持版本
Qt5: 5.9 LTS 长期支持版本
Qt5: 5.12 LTS 长期支持版本
Qt5: 5.15 LTS 长期支持版本
Qt 6 : ???
/
Qt 6 已经在2020年12月8日发布了。
但你没有看错,这篇是谈 Qt 5 攻略。
毕竟 Qt 6 在 Win 平台将只支持 Win10 及其以上。所以大批 Win7、XP 党 无缘 Qt 6。
而且 Qt6 为了赶进度,早期版本里缺少了很多模块,例如 图表、数据可视化、WebEngine
所以也没必要急着尝鲜 Qt 6 ,建议等完整版出来后,再升级也不迟。
那么 Qt 5 的各个版本,该如何选择呢?
Qt 5.9 作为LTS也已经在2020年5月31日停止更新了,所以建议使用目前依旧在更新的LTS:5.12 与 5.15。
能直接使用 Qt 5.15 当然是最好的,若实在有难处,就用 5.12 吧,但至少别再用 Qt 5.9 之前的版本了。
如果你需要用到 QtWebkit,则只能用 Qt5.5及其以前的版本。
如果你需要 PDF 的支持,建议升级至 5.15,因为新增模块 Qt PDF
如果你需要 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,因为该版本完善了安卓开发文档。
特别说明
已自支持 OpenSSL 是很实用很实用的。
QNetworkAccessManager 的 setTransferTimeout 超时设置 是很实用很实用的。
现在很多设备,特别是笔记本,都是高分屏设备,对高分屏的良好支持是 5.14 开始的。
对触摸屏设备的良好支持,是 Qt 5.12 开始的。
有些高富帅设备,既是高分屏,又是触摸屏,例如 surface ,那必须 5.14 至少。
有些对话框的标题栏,会出现“?”按钮,叫“这是什么”的提示,很讨厌。 5.10 支持移除。
以下是 Qt 5.9 之后,各个版本比较重要的新特性:
Qt 5.15 LTS 维护至 2023年5月29日
https://wiki.qt.io/New_Features_in_Qt_5.15
QFile :: moveToTrash,将文件移动到回收站(以前只能直接删除文件)
QThreadPool :: start、tryStart,开始支持lambda
添加了静态模板QDebug :: toString函数,该函数将给定的对象传输到对字符串进行操作的QDebug实例中,然后返回该字符串。
QImage 的缩放和转换的许多方法都升级成多线程的。
QNetworkAccessManager 开始支持超时设置。
QWebEngineHistory 添加 clear
QWebSocket 开始支持设置最大帧大小和消息大小。
Qt Android 完善了开放文档
新模块 Qt PDF
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
QWidget :: createWindowContainer()现在可在Android上使用
QOpenGLWidget现在可用于呈现和读取(抓取)屏幕外内容。
添加了AA_DisableWindowContextHelpButton属性,可防止Windows对话框上的自动“这是什么”按钮
新方法QWebEnginePage :: download用于以编程方式开始下载。
新增模块 Qt Speech 用于文本转语音
Qt 5.9 LTS 已于2020年5月31日终止维护,不建议使用及其以前的版本
https://wiki.qt.io/New_Features_in_Qt_5.9
///
如果是嵌入式类应用的还是暂时用4.8系,
如果PC应用,GPU不错的试试最新版5.X,界面更美观
///
我个人从Qt4.7.0开始用起,之间用过4.8系列,Qt5.2,5.3,5.4,5.5,5.6,5.7,5.8。最后选用Qt4.8.7作为最终解决方案,正如官网所说,Qt4.8.7是Qt4系列的终结版本,解决了以往的所有BUG。而且是打包需要带的动态库最小的,压缩下基本上在3MB左右。CPU占用也是最小的,我对比过好多个版本,Qt4.8.7是最好的。下面这个程序就是Qt4.8.7打包的,包含的功能强大,打包压缩极小。
///
Qt发展到现在,哪还会有一个版本最好用这样的说法。
只有最合适,最匹配需求的版本之说。
那么这个之说到底是什么说呢,我举几个例子。
如果你希望体验新功能,比如说5.8中的qmlc缓存机制(用于提升程序启动速度),并且对将来新版本Qt的新功能充满期待,愿意不断的学习,觉得越新越好。并且愿意接受因为新版本升级带来的新问题(其实往上兼容,基本上不会遇到什么问题)。那么可以考虑追一下新版本。目前Qt最新版本是Qt5.8.0。我也一路追到了这个版本。从我追版本的感受来看,基本上是瑕不掩瑜的。当然也不乏升级后,整个程序无法使用,然后修改了半天才恢复正常的事情。
或者说,你的设备是老的嵌入式设备,性能有限。而且因为种种原因,根本不考虑使用QtQuuick,只使用QtWidgets。或者说所拥有的环境或者工具链也比较老,对Qt5支持很差。那么这时候,基本就只能用Qt4了。而如果是在Qt4里面选,那么推荐是4.8.6。这是Qt官方上最后一个Qt4版本。别看是Qt4,这个更新是在14年6月。也没那么的老。
或者说,你希望在一个稳定的Qt版本基础上,开发一个产品级应用。不希望版本中的功能经常发生太多的变化,被发现的新问题可以被及时修复。并且希望Qt对这个版本进行长时间的维护,那么可以选择Qt5.6的版本,这是一个LTS(长期支持)版本,计划的维护时间是3年。到现在应该是快满1年了。还剩余2年的时间。不过也说不定到时候官方会延长这个支持的时间。
或者说,公司其实已经钦定了一个版本,尤其是做嵌入式,涉及到太多的东西。那么这时候,只要主要功能都能用,满足绝大部分需求,我建议还是不要修改大版本比较好,因为版本迁移,会带来太多的隐患,有时候不光是Qt自己的,还有工具链升级导致的衍生bug。
或者说,其实你的嵌入式设备,比如说树莓派,并没有丰富的工具链或者环境或者公版Qt(已经编译好,可以直接用)提供使用,那么这时候,选择这个设备下相对受欢迎或者相对使用较多的版本,是一个合适的选择。
不过啊,如果你只是开启一个新的项目,需要一个简单并且快速的结论,那么我的建议是使用QtQuick,Qt5.8(越新越好)
///
Qt最好用评价最高的是哪个版本?的更多相关文章
- 从Windows 2012标准版升级到数据中心版,标准评价版本升级到标准体验版本并激活
对于Windows 7.Windows 8操作系统,可以在图形界面中通过输入序列号,从低版本直接升级到高的版本,例如从Windows 7家庭版升级到专业版或旗舰版.而对于Windows Server ...
- 40.qt quick- 高仿微信实现局域网聊天V4版本(支持gif动图表情包、消息聊天、拖动缩放窗口)
在上章37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面.UDP校验登录.皮肤更换.3D旋转),我们已经实现了: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登 ...
- 37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面、UDP校验登录、皮肤更换、3D旋转)
1.版本介绍(已上传至群里) 版本说明: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登录界面之间切换) . 效果图如下所示: 如果效果图加载失败,可以去哔哩哔哩 https:// ...
- 使用VS2010编译Qt 5.6.1过程记录
由于Qt官方发布的Qt 5.6.1二进制安装包没有对应VS2010版本的,而我的电脑上只安装了VS2010,因此只能自己编译. 本文记录本人的编译安装过程,以及其中遇到的一些问题. 本文使用VS201 ...
- QT特供 CGAL配置流程(基于QT5+VS2015)
最近做的QT项目涉及计算几何库,需要用到CGAL,其配置着实麻烦,而且相互关联的软件也存在版本兼容一类的问题,在这里就对其配置流程做一些整理说明,以便后来者能够少些烦恼.(注:以下使用Win10作说明 ...
- QT 做软件盘
最近搞了一个组织细胞脱水机项目,当然,对于国内的项目都是仿来仿去的,我们也不例外,开启被仿机器后,第一个看到的界面就是用户登录界面,需要输入中文,作为一个程序员,我的第一反应就是我需要采用什么用的框架 ...
- 关于windows下QT以及QT creator的安装
普及 之 windows下qt的安装及配置 qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...
- 单独编译osgQt模块 Qt moc
从alphapixel网站下载了OSG3.0.1VS2010x64版本的库,但是里面不包括osgQt模块,于是得自己编译 *************osgQtx64.zip工程文件可以去本博客园的“文 ...
- Qt开发环境中使用报表控件FastReport遇到的一些问题(一)
FastReport是一款优秀的报表控件,由俄罗斯开发,国内有代理商.Qt环境下可实现报表功能的还有一款叫NCReport,也是收费控件,比较来比较去还是觉得前者功能强点.网上讲解此控件在Qt中使用的 ...
随机推荐
- python re:正向肯定预查(?=)和反向肯定预查(?<=)
参考资料:https://tool.oschina.net/uploads/apidocs/jquery/regexp.html (?=pattern) 正向肯定预查,在任何匹配pattern的字符串 ...
- cf Two Sets (我用二分最大匹配做的)
题意: n个数p1,p2....pn 两个数a,b 把它们分成A,B两个集合. 若x属于A,a-x一定属于A. 若x属于B,b-x一定属于B. 问是否可能将这n个数分成两个集合.若可以,输出每 ...
- 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用
目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...
- 直播预告|App 首页如何动态化更新?来看蚂蚁技术专家详解「支付宝」全新卡片技术栈
立即前往直播间预约观看 从icon到card,一场内容前置化的变革 从 Windows 时代开始,应用程序图标就成为了用户(流量)的主入口,一直持续到移动端时代. 图标即入口的方式,虽然足够方便但却不 ...
- Kubernetes(k8s)部署redis-cluster集群
Redis Cluster 提供了一种运行 Redis 安装的方法,其中数据 在多个 Redis 节点之间自动分片. Redis Cluster 还在分区期间提供了一定程度的可用性,这实际上是在某些节 ...
- 『学了就忘』Linux基础命令 — 35、网络中与其他机器通信的命令
目录 1.write命令 2.wall命令 3.mail 命令 使用1:发送邮件 使用2:查看已经接收的邮件 使用3:发送文件内容 1.write命令 (1)write命令的基本信息 命令名称:wri ...
- SDKStyle的Framework项目使用旧版项目文件生成的Nuget包遇到的问题
随笔-2021-11-10 SDKStyle的Framework项目使用旧版项目文件生成的Nuget包遇到的问题 简介 C#从NetCore之后使用了新版的项目文件,SDK-Style项目,新版本的项 ...
- Flink sql 之AsyncIO与LookupJoin的几个疑问 (源码分析)
本文源码基于flink 1.14 被同事问到几个关于AsyncIO和lookUp维表的问题所以翻了下源码,从源码的角度解惑这几个问题 对于AsyncIO不了解的可以看看之前写的这篇 <Flin ...
- 自定义 OpenShift s2i 镜像与模板——OracleJDK8
本文目标 由于 OpenShift 官方提供的镜像与模板(OpenJDK8)不完全满足业务需要: 不包含飞行记录功能.只有 OpenJDK11 以上才被 Oracle 开源 生成堆 dump 很大很慢 ...
- [bzoj5415]归程
首先肯定要预处理出每一个点到1的最短路(别写spfa) 然后以海拔为边权,建一棵kruskal重构树 用倍增找到vi最后一个小于pi的祖先,然后在子树中取min(预处理) 1 #include< ...