Qt最好用评价最高的是哪个版本?

2024-06-08 02:18
文章标签 评价 qt 最好 版本 最高

本文主要是介绍Qt最好用评价最高的是哪个版本?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

来源:https://www.zhihu.com/question/53425270

来源: 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最好用评价最高的是哪个版本?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040959

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对