开启QT学习之路-第一天(认识和搭建环境)

第一天:了解什么是QT

先看官网的描述,在看看度娘的总结,在对比下各个软件。然后看下QT的整体架构,编程的初步流程,和编程环境的搭建。

我先看看官网怎么说

(https://www.qt.io/),这官网不错还有中文选择,不过考虑翻译准确性还是用英文看比较好点。
看首页说:

“One framework. One codebase. Any platform”.这就太简写没解释。

“Qt is the fastest and smartest way to produce industry-leading software that users love.”都是自个说,咱也不懂。
他上面有使用案例USE CASES,从应用上了解下看看。“WHY Qt?The Future Is Written with Qt”这牛吹的,“Design and develop great user experiences。With Qt, you can create awesome user experiences that in turn creates dedicated customers and elevates your company into a cult-like brand.”貌似都是废话。
他有选择QT的10个理由,不过要填信息,算了。
这玩意居然还要注册信息才能了解选择QT的10个理由
还是来看看他到底能开发些什么吧。
从实际应用来分类
1。汽车上的应用:这应该就是车载前面的人机交互屏吧。
2。工业自动化应用:提到了Qt M2M 协议,貌似没提到什么有用的信息,而且又是需要填信息才能下载理由,哎。。。
3。消费类电子:提到了Qt 和 QML 创建一个嵌入式系统并且与HTML5对比,同样需要填写信息。
4。医疗上面:可以开发FDA or EU Class II or Class III products 这样标准的软件,也可以开发医疗上的成像软件,还能够符合 IEC 62304:2015 up to safety class C这样标准的软件,应该是这个行业的准入门槛软件吧。

再来看看从应用平台上分类

1。嵌入式设备:可以快速开发3D/3D的UI.
2。微处理器(MCU):NXP Boards;Renesas Boards,STM Boards,Infineon/Cypress Boards。专门看了下STM的MCU只有几款很少:STM32F769NI,STM32F750N8H6,STM32H750XB,STM32L4R9AII6,STM32L4R9AII6,STM32F469NI.
3。物联网:万物互联,各种小配件或者大配件吧
4。桌面应用:这应该就是电脑软件或者触摸屏的吧。
5。多屏幕:2D/3D的UI,AR/VR等等
6。移动设备: Android、iOS、UWP等
总结起来和开头对应的就是说:我的框架好,我的代码库丰富,我支持的平台丰富。开发UI特别优秀。
这个网站打开网页忒慢。。。

再看看度娘怎么说吧。

百度百科:“Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程”。好吧还是百度百科总结的比较好点。优势:跨平台好,面向对象,丰富的API。

有个小重点:商业版和开源板

Qt商业版:提供给商业软件开发。它们提供传统商业软件发行版并且提供在协议有效期内的免费升级和技术支持服务。费用还是等我学得差不多再了解吧。
Qt开源版:提供了和商业版本同样的功能。它是免费的,使用开源版需要了解其采用的各种开源协议。开源协议也等学的差不多再看。

再来对比当下的其他软件

初学的话我还是学桌面程序
总结下网上的说法
QT封装好了UI库和各种类库,自己开发不需要接触底层的API,所以效率相对低,但是开发效率高,而且可以用到各个平台,尤其商用上用到linux平台时的屏幕程序,因为总不能要求客户装windows正版系统去跑软件;
MFC是微软的基础类库,专门用来开发windows的图形界面,开发出来windows可以直接使用,效率高,不过API和消息机制比较难搞,而且需要借助固定的结构来开发否则难度相当大,而QT不需要任何固定的模式;MFC做游戏外挂,勾住游戏窗口,调用系统接口,直接读取内存的数据,容易实现。总之学MFC超级难。
再来看看VS下的C#,我想C#最大的弊端是开源,客户端软件很容易被反编译,当时盛极一时应该也是开源和.net库非常好用,不过微软的更新速度像是飞火箭,你刚学会他可能已经出新了,如果更不上节奏不如玩java,据说新的类库正在吸引java的程序员。当时在web上的表现也相当可以,不过现在在看看TechEmpower的框架性能排名,排名靠前的c++,java,rust,而c#掉到了二十多了。再来瞅瞅tiobe编程语言排名,还有IEEE Spectrum对于编程语言的排名,每年都有排名的 更新,并且做些说明蛮有趣的。不过语言这东西是工具,排名没那么重要,学好才是关键。

了解下QT的架构

见图(从网上下载的)这个总结的相当可以了,笑纳了。
qt架构从这份架构图来看,很清晰,先后学习内容也比较明确了。
先学点基础理论机制QT BASIC,再学窗体部件,QTQuick暂时不知道什么东东,看内容像是信号处理,最后是WEB相关内容。在实操前还应该了解他的内核和原理,优化框架我们就最后学吧。

开发环境搭建

正常应该知道windows和liunx环境搭建。
我现在只有windows系统,先不管了。
1.去官网下载最新离线包:离线包
2.QT库有vs编译的QT库,有MINGW编译的QT库,dmg是MAC的QT库,zip是windows版本的源码,tar.gz是linux版本源码, md5sums是校验,changes是版本日志。
Qt开发环境包括3个基本部分:Qt Framework(Qt库)、QtCreator(IDE)和MinGW(编译调试),QT5之后三个包合一了,整个包里面包含了QTCreator,各个平台的QT库需要勾选需要的和编译工具的选择。
cmake:https://cmake.org/download/
3.下载
软件QT5.13.1下载位置qt-opensource-windows-x86-5.13.1.exe,直接连接下载地址
看到了一个博客总结很全面,摘录链接

猜你喜欢

转载自blog.csdn.net/weixin_43101315/article/details/121169243