000 - 前言

        

目录

问题1:学Qt之前是不是得先把C++基础打好才行?会一点点C++可以学吗?

问题2:我已经会 PyQt 了,还有必要再学 Qt 吗?

问题3:Qt 和 QML 学哪个比较好呢?


        大家好呀~ 我是角角。从今天起,我们就要一起踏上Qt的学习之旅啦!在正式学习之前呢,相信小伙伴们对Qt还有一些疑问,比如:

  1. 学 Qt 之前是不是得先把 C++ 基础打好才行呀?会一点点 C++ 可以学吗?
  2. 我已经会 PyQt 了,还有必要再学 Qt 吗?
  3. Qt 和 QML 学哪个比较好呢?

        下面我先解答一下这几个问题,如果小伙伴们还有其它问题,欢迎在下方评论区留言,角角一定知无不言,言无不尽。

问题1:学Qt之前是不是得先把C++基础打好才行?会一点点C++可以学吗?

        这个并不是哈~

        众所周知,C++是一门相对较难的编程语言,但只要你学过其它语言,比如很热门的Python,就很好上手C++了。其实不管哪一门语言,只要你有足够的耐心都是没问题的。

        好吧,这是一句F话。。。。

        如果没学好C++或者完全不会,都是没关系的。Qt它只是一个创建GUI应用程序的跨平台工具包,说简单点就只是一个工具而已。

        打个比方,就像厨房里的微波炉,你根本不需要知道这个微波炉是怎么生产出来的,只需要插上电,设置时间,按下启动开关,能给食物加热就行了。

        当然了,如果你有C++基础更好,上限会更高。因为你可以和Qt的知识融会贯通,可以优化代码,节省资源占用,提高程序的性能等等。

        所以,角角建议没学过C++的或者C++基础比较差的小伙伴,可以一边学Qt一边学C++。当然不是那种埋头苦学,只是在写Qt代码遇到不理解的地方可以去查查相关资料,在实战中学会C++。

        总之呢,要想熟练掌握一门语言或者技术,都需要 “千里之行,始于足下” 。如果你想快速上手,做一个着急的项目,那你可以跳着看这门课程,其它的可以等以后有时间了再慢慢看。

问题2:我已经会 PyQt 了,还有必要再学 Qt 吗?

        如果你会有这样的疑问,那你可能还没踩到PyQt里的坑。

        首先呢,PyQt和Qt都是可以用来开发GUI应用程序的。PyQt是基于Python语言进行开发的,这门语言不说大家也知道,代码简洁、代码量又少,所以开发效率相对于Qt要高一些。写一些小工具、脚本什么的没有什么问题,但是一旦程序稍微复杂,用到的包、库多起来的时候,你就知道什么叫绝望了。。。。

        之前我尝试通过PyQt来做一个批量处理表格数据并显示图表的工具,其中用到了Pyecharts还有Pandas,做完后打包程序有1G多。。。。

        这是什么概念?本身你的工具功能就不多,人家要用你这个工具,下载到电脑就得等半天,下次有个什么功能升级了,又得下载半天,大家都那么忙,谁愿意等啊?

        有小伙伴就说了,你为啥要用Pandas呢?用xxx不好吗?图表非要用Pyecharts显示吗?…… 确实有其他包可以替代,但是这里面的坑可就太多了,等你花费不少时间精力学会其他包如何使用后,你会发现你想要的某个功能这个包它实现不了或者不兼容。。。。有些你可以通过重写来实现,但是其中花费的时间精力根本不成正比。

        其中的大坑小坑太多太多了,还有重要的一点就是PyQt的资料网上参差不齐,有的甚至根本没有,官网的资料也不全,你的每一步都像是在开创先河。。。。

        最后就是,PyQt做出来的程序稍大一些就会运行卡顿,像一只蜗牛在爬。对了,打包这块也是一个大坑,这里不细说了。

        总之呢,虽然Qt学习曲线相对陡峭,但只要你上手了,后面就会很舒服。

        

问题3:Qt 和 QML 学哪个比较好呢?

        QML是Qt公司推出的一种声明式编程语言,它基于JavaScript,支持动态属性和样式,并提供了类似JSON的语法结构。QML主要用于创建用户界面和动画效果,它可以在运行时动态生成和更新界面元素,非常适合用于构建复杂的、高性能的图形用户界面。

        简单来说,就是QML可以做出非常漂亮的现代化的界面,动态的炫酷效果。如果你更注重颜值,那你可以学QML。

        缺点也是有的,比如QML的语法和特性比较难掌握,生态系统不是很完善,一些功能和库缺乏支持,而且需要依赖Qt框架,这也就意味着项目可能会增加额外的资源占用和部署成本。

        我个人觉得,Qt做出来的界面,只要你愿意花一些时间去美化,就完全够用了,QML主要偏移动端。如果你有时间精力,可以两者都学。

你可能感兴趣的:(Qt6,C++,零基础入门教程,c++,qt,开发语言,后端,嵌入式硬件)