如何学习QT

    我相信有很多小伙伴在学一门新的技术之前可能会在百度上搜索如何学习某某技术,因此我将这篇博文命名为《如何学习Qt》,方便大家能够搜索到这篇博文,希望这篇博文对刚刚想要学习Qt的同学有一定的指导作用。

我是如何走向QT学习之路的:

    要说起如何学习QT,我还是先跟大家讲讲我是怎样入了QT的坑吧,我在大学时主要是学习的单片机开发,在学习过程中发现很多的应用都会用到单片机和PC进行通信,刚开始觉得通过一个软件来控制单片机很溜,因此我就决定要学习应用程序的开发,这样可以给开发单片机应用锦上添花。学习应用程序开发第一步就是选择开发工具,因为大学学习C语言时是使用的VC6,但是当时所编写的程序都是控制台程序,最后我在网上百度了一下如何使用VC6来开发我们常见的应用程序,比如QQ等,通过查找资料我第一次接触了MFC,知道了MFC可以开发像QQ这样的应用程序我就开始在网上查找关于MFC的视频教程(因为刚开始学习单片机时,那些学长让我看郭天祥的视频教程,因此学习时对视频教程产生了依赖),最先找到的是孙鑫老师的视频教程,大概有20多节,孙鑫老师的视频教程把MFC讲的非常好,但是视频教程一集就有两个多小时,一集看完实在是太累,把所有的视频教程看完感觉还是没有掌握到MFC,然后又找其他的视频资料,在查找的过程中又接触到了吕鑫老师的MFC视频教程,吕鑫老师的MFC视频教程也做的非常好,也看了好一段时间,最后发现MFC做应用实在是太麻烦,在建立MFC工程是系统会为你生成一大堆的代码,但是对这些代码的作用却不了解(孙鑫老师用了专门的一节课来讲解MFC的框架,看了很多遍都没有理解),在我学习MFC的同时我所在的实验室有一位学长使用易语言开发应用程序,很是速度,想我学习MFC这么久还没有别人学易语言几天做的软件强大,因此我就考虑是不是应该换一个软件开发工具了,易语言开发虽然简单快速,但是我觉得学习易语言不好找工作,我还是没有选择易语言,我又在网上查找了一个下用什么开发应用程序比较好,看到一位网友说用QT开发应用比较好,而且是跨平台,还可以支持嵌入式,我想我本身是学单片机的,后面肯定会向嵌入式linux进阶,学会了QT既可以开发应用程序,还可以用于嵌入式开发,一举两得。因此我就做了一个重大的决定,放弃MFC转向QT。

学习中遇到的问题:

    在开始学习QT时立马就被QT工程的简介所吸引,QT自己生成的代码非常的少,而且很容易理解,其所建立的工程也和学习单片机时所建立的工程相似,找到了熟悉的感觉。我最开始学习QT的套路还是和学习MFC和单片机一样,先是在网上查找一些关于QT的视频教程,但是在我刚开始学习QT时时候视频教程还是比较少的,好不容易找到了丁林松老师的视频教程,丁林松老师的视频教程时间比较短,一节课就几分钟,长的有40多分钟,但是学完了视频自己还是不会写,我就开始自己摸索学习方法,因为QT很多类的基类都是QObject,因此我就决定先从QObject类开始,但是一打开QObject的帮助手册,顿时就懵了,因为该类很多的函数根本不知道其作用是什么,这条路算是走不通了,又将学习方法修改为以目标为导向,确定一个想要做的东西,然后在网上查找相应的内容,东拼西凑把软件做出来,这样成就感是有了,但是没有形成自己的QT编程思维。然后因为学校比赛的需要,就把QT的学习放在了一边,又去研究图像识别算法,到了大四又想在嵌入式的学习上更上一层楼,又去学习了linux的驱动开发,到了大学毕业后才发现自己什么都只是学会了皮毛,没有学到更深层次的东西。

反思:

    上面介绍了我大学的学习过程,我在大学期间算是比较努力学习了,但是回想一下大学又是什么都没有学好,因此我进行了反思,发现我在学习方面存在很多问题,总结在这里希望对看到该贴的网友有一定的帮助。

    1.学习不够专注,什么都在学,什么都没有学好。

    2.没有足够的耐心,将自己目前的状态与向达到的状态相差甚远,影响了自己学习的动力。

    3.学习方法不对,没有在学习中形成成就感,因此在学习过程中不能越战越勇。

QT学习方法:

    通过对自己学习的反思,我决定先专注于QT的学习,每天坚持学习两三个小时的QT,因为不积跬步无以至千里,不积小流无以成江海嘛,在专注和耐心都具备的情况下采用怎样的学习方法就成为了关注的焦点,因为一个好的方法可以让学习事半功倍。我觉得一个好的学习方法必须能满足两点,一是目的性强,二是能够产生成就感。在QT的学习中如何满足这两点呢?

    1.QT的帮助文档是做的比较好的,而且提供了很多的例程,我们可以阅读它的例程,看看该例程实现了那些功能,然后我们再模仿它的功能自己编写一个一模一样的程序。

    2.在实现例程功能的时候切忌不要照抄例程的源码,我们在看例程源码的时候应该关注该程序使用到了那些类,然后再去查找该类的使用说明,根据自己对帮助文档的理解编写出和范例一样的功能,经历了这样的过程才能对QT的类以及QT的框架有更深刻的理解。

    这是我第一次写博文,如果写的不好请大家多多谅解,有什么好的建议大家也可以提出来,因为只有输出反馈调整输入,才能产生更好的输出嘛。


你可能感兴趣的:(QT学习)