编者注:”前端、后端“本是网络开发的专门术语,不过我依样画葫芦把它们挪过去应用开发的领域里头,道理是一样的,前端搞得就是界面和Signals-Slots链接(以后你们关注这个教学就知道是什么了),后端就是搞与操作系统之间的互动,和所有编程逻辑。
我们每天都在使用各式各样的电子产品。刷手机、划电脑,这些事情都稀疏平常。但是用家背后的是每天辛苦耕耘的码农,开发者不同种类的APP、软件,供人们使用。
众所周知,开发APP(不论是小规模还是大规模),都需要用到一工具,来大大的帮助开发过程和后端设置。这些工具的名字叫做API(Application Programming Interface,直译:应用程式开发界面)。API不仅扮演着应用程式和应用程式之间,互相交换数据、交流等作业的桥梁,更是一种可以供开发者(也有使用者)客制化 (Customization) 不同通讯、交流等规定的中间人。例如,API可以规定用某某编程语言来执行作业,也可强迫应用程序仅仅能提供某些特定的档案格式等等等等。
不同API有不同特定功能。例如某些工具就是专门设计给程序员开发前端应用的(后端、作业系统API自己搞定)。这些就叫住软件程式建造应用程式开发界面(Application Development Platform Applicational Programming Interface,简称AppDevAPI)。
市面上有无数多的API供开发者 (developers) 开发软件,如下列表(根据编程语言排列):
def paintEvent(self, event: QPaintEvent) -> None:
"""绘画一条线。从左上角开始,45°画一条15像素长的斜线"""
painter = QPainter()
painter.drawLine(QLine(0, 0,
15, 15)
至少笔者发现wxWidget没有相对应的覆盖方法 (overriding method),Qt比它更胜一筹。啊对了,上面代码只能看得懂def、None和self作为保留字的请举手,不过就算你双手举高也没问题,我们现在慢慢开始学Qt,到第15~20篇(大约)在讲事件处理 (Event handling) 你大概就应该可以看得懂了QPaintEvent、QPainter、QLine之类的东西。
笔者学了几天Java就放弃了(笑)好在根据百度大神,还是有一些面相Java的AppDeveAPI供开发者使用。
C++。一定是C++。
首先,它快呀。相比起直译式语言(最著名的例子就是Python),技术好的程序员、配置好的电脑加上被好好编程的代码可以使C++比Python、Ruby快了个100~200多倍左右。对于高质量、高品质、高速度要求的APP来讲,C++可是编程语言的首选。可不,整个公司-Adobe(对,就是你们拿来P图的Photoshop的原创公司)、开源软体界的KDE,全部(“立志”式地)APP都是用C++开发,其中KDE还是用Qt作为AppDevAPI的。详见章末列表。
其次,C++从1981年开始大红大紫,在40多年间积攒了浓厚的实力,论坛大、朋友圈宽。米国知名编程问答网站的C++问题数达到了792,797个,七十多万问题反映了C++的吸引力和知名度。
此外,Qt在它于Trolltech奇趣公司出生的时候就断言式地用C++开发一切服务,也就是说,Qt本身就是designed-for-cpp(给C++语言量身定做)的,增加了原创性。
另外,……
怕你们不信它的能力,我辛辛苦苦整了一张大表给各位看众:
留意下,因为上述的原因,所以在我们这儿学习Qt需要一个对C++语言很深刻的理解(特别是面向物件编程,特别重要。在这儿,会用C语言者更佳)。如果是100%小白不会,那网上随便都是资源,百度一下就对了。
做好了准备安装Qt了吗?
做好了。
非常好。
首先去Qt官网,https://www.qt.io/。
摁一下左上角的“Download. Try.”。划拉下去直到你看见“Download Qt for open source use”方块,如下:
按一下“Go open source”(浅绿色字体,没有荧光,没有方框,看见了吗?),再度划拉下去底部,摁一下“Download the Qt online installer”
温馨提醒:既是“Online”,亦即表明了你的网络/流量必须特别稳定,不然会超级慢、急、卡。
完了之后等系统确认你的操作系统,以此提供合适的安装器 (installer)。我用的是苹果系统(最新版macOS 13 Ventura),自然写着“OS X”,“macOS”,“Darwin”或者之类的东西啦。
我这用的是苹果电脑,所以要有一个额外的步骤:使用“磁盘工具程式”解压下载完的.dmg档。Windows使用者则可少烦恼,直接双击运行即可。而Linux使用者则需要100%使用终端 (terminal) 开启安装器,并且依照知识安装额外需要用的lib (库,Library)。(好像是什么lib-xcccb来着,好久没用linux了)
废话不多说,解压完,安装完,就该启动了。双击installer图标,会在大约5秒内出现以下界面:
这时你需要上Qt官网注册一个账户--放心,安全,免费。 然后你再点“Next”,像你怎么安装其他软件一样同意条款与细则(具体到Qt安装器就要把两个勾都勾掉),然后按“Next“。如果你看到了”Welcome to Qt Setup“,那么就再按一次Next。
如果你这个时候碰上了”Cannot find source … in mirror ……”的话,也就是Qt安装器不能够在相应的镜像 (mirror) 里头找到需要用到的压缩包 (zipped file),这是你需要切换镜像。一般来说,中国的Qt安装器默认选择阿里云作为镜像,但是阿里云貌似不再支援Qt5,所以Qt安装器会找不到Qt5的源代码压缩包。这是你需要用终端指令“
--mirror "http://ftp2.nluug.nl/languages/qt" ”来完成对于镜像的切换。
然后Qt线上安装器会问你该如何处理用户虚拟的信息,个人建议予虚拟信息以Qt,绝对安全,而且可以帮助Qt做的更好。它其实不会传用户名、密码、信用卡号等敏感资料给Qt,顶多一些崩溃报告 (crash reports)、用户提交的代码之类的。 当然有完全禁止传信息予Qt任君选择。
选完之后按“Next”。
记得勾选“Custom installation”。按一下“Next”。
谨记一定至少选一个Qt的版本,作为API。笔者建议读者们选择Qt5和Qt6,以便有兼容性的性能。
请注意Qt 6.5只能安装在以下操作系统上:
如果不行,那么就试试Qt 5.15.2吧:
作者强烈推荐读者选以下成分 (components):
然后再次同意条款(上次是GPL,这次是LGPL)。
这大概需要用到43.19GB的容量。如果少于50GB的话,作者这里还有一个精简版:
一顿操作下来大约可以节省个一半容量,甚至是十倍的容量(至4.66~21.16GB)。
然后就等它安装完毕。一般来说,按照“完整版”来推算,大概需要30分钟的时间。按照“精简版”来推算,大概需要10~15分钟的时间。
如果你看到“Finished”,并且有个“Exit”之类的指令在安装器的左下角,那就取消勾选所有的“Launch Qt Creator”和“Open README.txt”,然后再点一下“Exit”,离开安装器。
恭喜你,Qt安装完毕。接下来,就要准备好你的手跟大脑,准备好开始我们的第一个Qt专案 (project) 吧。