shasidaran 发表于 2016-12-8 11:45:38

【Qt学习之路】我的Qt历程

本帖最后由 shasidaran 于 2017-9-12 18:37 编辑

       我刚接触Qt时,那时还是Qt4的时代,当时是因为要开发Linux for PC和Linux for ARM应用软件的关系,选择了Qt Creator+Qt的开发平台。后来因为项目人手不够,原本计划MFC开发的,由自己改用Qt开发Win下的应用,发现Qt在跨平台方面真是给项目节约相当多的时间成本。


      也是随着时间的积累,对Qt的认识慢慢深刻,这里希望刚会使用Qt的同志们心里问自己几个问题,你是否知道Qt和Qt creator的区别?你对qmake的理解?Qt中信号与槽机制是同步还是异步?


一、关于Qt的学习
      
       只要懂一些C/C++的基础,做到自学Qt个人觉得不是问题,我当初是在选了很多教程后,在网上看到《Qt Creator快速入门》网页版,后来才买书详细学习的。这本书章节例程设置很好,而且介绍很详细。

       我的经验是学习要有目的的学习,这样会越学越快。
       首先把书中基础部分的例程,自己一行一行的敲代码,不要复制粘贴,遇到问题最好,不要慌张,因为每个报错,到最后解决,这才是工程师的经验!如果都是敲进去,一次编译通过,都没机会定位分析问题,学习阶段反而不是好事。

       基础部分例程over后,一般2D绘图是必看的,因为和界面太相关了。当然这时候最好给自己,或者老大给自己要安排一个小程序,实现一些功能。然后你要以完成该小程序为目标的去学习,带着问题去学习这些章节,比如数据库、网络还是多媒体。因为这些章节的内容比较深,强烈建议不要按例程草草过一遍,而是以实现某些功能为前提去学习。

      这之后,应该已经是能做些简单小程序,对qt有些了解的阶段了。这时候,可以做的事情:
0、开始使用Qt帮助文档解决问题,帮助文档永远是最好的学习资料
1、Qt论坛多看看别人的程序,楼主提供源码的话更是难得的学习机会,提取其中精华,看看Qt有多强大!
2、QSS样式表,如何美化UI
3、程序版本控制Git、SVN等,要了解下,找工作时候肯定有用
4、Qt Creator创建其他工程,不要只会生成EXE,尝试生成插件、DLL
5、会编译、使用Qt的第三方库,把Qt和其他库结合起来
6、。。。



二、关于跨平台的学习

      如果没有计算机基础、操作系统相关的知识储备,这方面就比较吃力。由于学习使用的一般都是厂家给的工具软件,所以会接触到很多名词,交叉编译工具链、系统内核、系统裁剪、bootloader、设备驱动等等。如果有位肯认真指导你学习的,对于一些概念的理解会好很多,不然只有自己硬着头皮,跟着教程多来几次。

      我当时既没人指导,这方面基础也一般,搭环境就用了几天时间,很多名词第一次接触,就是靠重复、遇到问题,实在不行,再重新装一次环境(环境搭建流程一定要详细记录),用了几个月时间,有一天,忽然就开窍了,真是应了那句话,书读百遍,其义自现!

      用Qt给我带来最大的好处就是,虽然只会C++和Qt,但是Linux、Win、ARM、Android开发都能用的到,有人当然说要用原生态的开发环境最好。这主要是工作内容决定的,如果工作面窄,你能用本派武功一招制敌当然好,如果有其他门派武功压根克制你,自己学的是一套万金油的武功,行走江湖遇到谁都不怕。节约时间成本!


      虽然Qt本身就是一个框架库,但确实博大精深,自己还不敢说研究多深入,回顾自己初学一步步走来,Qt快速入门给我有莫大帮助,当时买的是第一版,现在都出第三版了,内容肯定是更加精彩和有帮助。

      希望Qter越来越好,希望cute的Qt爱好者越来越多!



1363386323 发表于 2016-12-8 13:00:27

楼主不要拿别人的照片当LOGO好吗?

shasidaran 发表于 2016-12-8 13:35:12

1363386323 发表于 2016-12-8 13:00 static/image/common/back.gif
楼主不要拿别人的照片当LOGO好吗?

嘿嘿   非主流:lol:lol:lol

1363386323 发表于 2016-12-8 14:06:29

shasidaran 发表于 2016-12-8 13:35 static/image/common/back.gif
嘿嘿   非主流

100个做IT的99个是恐龙:sleepy:,心照不宣啊,整天对着电脑伤害很大,无奈

yafeilinux 发表于 2016-12-9 17:51:28

写的很好,每个过来者都会身受同感。楼主的总结和建议基本已经把我想说的都说了,这里强调两点:一点是,不管初学还是开发程序,都要一点一点写代码,一个功能一个功能来实现,不要全部都写完了再来调试,那样非常容易出问题,而且很难发现问题。《快速入门》一书就是把功能分开来讲的,不断往一个项目中添加功能,同时讲解知识点。另外一点是,不要以为学习了Qt本身只是掌握了一个开发工具,其实Qt包含的内容太多了,方方面面都涉及到了,而且各种开发工具的原理都是相通的,所以只要熟练掌握了Qt,再学习其他语言、框架都会很轻松,因为你会发现,自己学的东西好像似曾相识!

shasidaran 发表于 2016-12-11 11:34:32

yafeilinux 发表于 2016-12-9 17:51 static/image/common/back.gif
写的很好,每个过来者都会身受同感。楼主的总结和建议基本已经把我想说的都说了,这里强调两点:一点是,不 ...

能有坛主点评,荣幸之至!:victory:

goto365 发表于 2017-1-1 09:38:07

很受启发,刚入门,请指路。

yongxing912 发表于 2017-2-5 22:24:47

楼主为后面规划的几点内容也非常具有参考性,谢谢。

dearcc 发表于 2017-2-13 17:04:10

qt跨平台,一次编写,到处调试,到时深有体会:dizzy::dizzy::dizzy:

kh99827765 发表于 2017-2-14 09:58:24

接触QT有几年了,但都是项目用的时候才去摸索一下,没有深入的去了解过。前段时间要在windows平台下做一个上位机,由于项目时间的问题,想到嵌入式平台用的是QT,直接移植了一下,感觉到QT的跨平台特性做的真的不错,基本上没有什么改动。楼主总结的不错,正在详细的了解QT中……:lol

和煦阳光 发表于 2017-3-28 16:17:34

支持!!!!!!!!

fh1757830168 发表于 2017-4-5 23:08:29

新手上路,多谢指点:loveliness:

dlfyf 发表于 2017-4-13 10:52:28

出入门的菜鸟,也是从mfc转过来的。鉴于mfc的诸多弊病,现在还是想把qt好好学一学。:lol

v786171161 发表于 2017-4-18 21:58:19

撸主,请教三个问题:Qt和Qt creator的区别?对qmake的理解?Qt中信号与槽机制是同步还是异步?嘿嘿,希望能给解答一下!!!

qq1043068972 发表于 2017-4-25 09:42:59

确实是,第一次接触qt,当场就没它的logo和跨平台深深吸引了,,,要是微软能推下qt,,我估计qt早就是桌面语言的大一统者了

qq1043068972 发表于 2017-4-25 09:45:26

v786171161 发表于 2017-4-18 21:58
撸主,请教三个问题:Qt和Qt creator的区别?对qmake的理解?Qt中信号与槽机制是同步还是异步?嘿嘿,希望 ...

我不是楼主,
1.Qt是类库,Qt creator 是一个ide,就貌似面vs2010 ,Android studio一样的东西
2.不妄加评论了...
3.异步的

v786171161 发表于 2017-4-25 23:32:02

第三个问题:在Qt5中,信号和槽可以是同步,也可以异步。:lol

030_linux 发表于 2017-5-3 09:42:47

新手上路,膜拜前辈;:loveliness::loveliness::loveliness:

stlcours 发表于 2017-5-23 05:09:43

>>自己学的是一套万金油的武功,行走江湖遇到谁都不怕。节约时间成本!
人生的意义就在于,用有限的时间去做多少事情!从这个意义说,Qt的确是节省时间、节省生命!

我想补充的是,Qt有C++做底盘,真是走遍天下都不怕。你甚至可以只使用QtBase去开发程序!!

hassan 发表于 2017-5-24 09:08:37

以前学过有点,不知道有些讲述VS配合qt库的怎么样
页: [1] 2
查看完整版本: 【Qt学习之路】我的Qt历程