我是学物理的,因科研工作需要自己写一些程序。在之前的学习和工作中,在编写图形用户界面(GraphicalUserInterface,GUI)程序时,我主要用的是C++Builder。最早,在做本科毕业设计时,需要写一个数据处理的GUI程序。当时没有接触过GUI编程,最早考虑的是学习MFC。在买了一本大部头的MFC图书并且啃了几页后,发现自己学不进去MFC这种繁琐的类库。后来,又接触到C++Builder6.0,这种快速开发(RAD)工具只需要简单拖拽控件即可完成界面设计,特别适合我这种业余写GUI程序的人。自此便陆陆续续基于C++Builder开发了多款GUI程序。
经典的C++Builder6
Qt也是一个GUI开发库,但是由于已经对C++Builder比较熟悉且满足需求,便一直没有学习Qt。今年以来,自己对于人工智能算法有了些兴趣,发现处理这类问题目前最为流行的Python+Qt的组合,因此便重新燃起了学习Qt的兴趣。总结来说,用Qt来开发GUI程序有以下优点:
1.简单易学:Qt简单拖拽和几行代码就可以开发出一个简单的GUI程序。这个其实与C++Builder是类似的。
2.资料丰富:相比于C++Builder,Qt的更新速度更快,用户群体也更大。
3.漂亮的界面:Qt很容易做出漂亮的界面和炫酷的动画,而MFC、WTL、wxWidgets等可能比较麻烦。
4.独立安装:Qt程序最终会编译为本地代码,不需要其他库的支撑。这是相比于其他GUI语言来讲的,比如:Java要安装虚拟机,C#要安装.NETFramework。
5.跨平台:Qt支持的操作系统有很多,如果你的程序需要运行在多个平台下,同时又希望降低开发成本,Qt几乎是最优的选择。在这个方面C++Builder则要差不少。
6.多语言:Qt虽然是基于纯C++开发的类库,但是存在Python、Ruby等脚本语言的绑定,也就是说可以使用脚本语言开发基于Qt的程序。比如前面提到的Python+Qt的组合,就是PyQt。
因此,从今天开始,作为理工科程序小白的我,打算从零开始学习Qt,并将学习心得整理成系列文章,也算是对自己的一种激励和鞭策。后期,在Qt的基础上,进一步学习Python和PyQt。