Qt学习之一入门
一 Qt入门
提纲
- Qt的发展简史
- Qt的应用领域
- Qt的学习方法
1 Qt的发展简史
Qt是由奇趣科技公司Trolltech的两位创始人Haavard Nord和Eirik ChambeEng合作开发而成的,第一个版本完成于1991年。第一个商业版本则是在1995年正式推出的。
Qt这个库之所以起名为Qt,是因为Haavard的Emacs字体中,字母Q看起来非常漂亮,而字母t来源于当时另外一个工具Xt(X toolkit)的名字。
最初Qt有2个版本,一个版本是适用于类Unix平台的Qt/X11,另一个版本是适用于Windows平台的Qt/Windows。Qt/X11版本是可以免费使用的,但是Qt/Windows版本需要付专利费后才能使用。
2001年底,奇趣科技发布Qt3.0。3.0版本增加了Mac OSX的支持,不过刚开始Mac OSX上面使用QT3.0需要支付专利费,直到2003年6月以后,Mac OSX版本才有了GPL授权,也就是说不需要支付专利费了。
2005年6月28日,奇趣科技发布Qt4.0。4.0相比3.0有很大的改动,与3.0相比不仅二进制不兼容,而且API也不兼容,这个激进的改动引起了开发者们的非常大的非议。
2008年6月,奇趣科技被诺基亚收购。
2011年3月,Qt4.7.2和Qt Creator2.10正式发布。该版本Qt Creator中第一次正式使用了中文界面,也第一正式支持了Qt Quick编程。
2012年12月19日,Qt5.0正式发布。Qt5相比Qt4改动并不大,没有Qt4相比Qt3的改动大,但是Qt5引入了全新的硬件加速图形处理,并且将QML于Javascript替身到与C++同等重要的地位。传统的基于C++的Qt Widgets继续支持,但是QML和Javascript的支持是的QT应用的性能得到大幅提升。
Qt5的开发是由Qt Project社区组织的,现在Qt已经允许诺基亚和Digia之外的开发人员提交并审核代码了。
2013年12月12日, Qt5.2发布。正式引入了对Andorid平台和iOS平台的支持,同时Qt5.2引入了一个新的场景图像渲染器,针对OpenGL后端提升了矢量绘图的性能,将GPU的占用率降到最低。
2014年5月20日,Qt5.3发布。改进了对iOS平台的支持,并且支持WinRT平台。这让Qt成为全平台的开发工具更进一步。
2009年1月14日,Qt4.5增加了LGPL授权协议,允许使用Qt开发闭源软件。Qt5.3版本是使用两种授权协议发布的——商业协议和LGPL2.1协议。
2 Qt的应用领域
从Qt的发展简史中,可以看出Qt作为一个类库,主要应用于:
- 桌面软件开发,包括通用操作系统 Windows、Linux、Unix等操作系统上的桌面软件。
- 移动App开发,包括Android平台、iOS平台、WinRt平台。
- 嵌入式系统软件开发,包括嵌入式系统 QNX、VxWorks等。
Qt是一个跨平台的应用软件和UI开发框架,使用Qt只需编写一次软件源代码,然后分别针对不同的操作系统做编译,便可以跨不同的桌面操作系统和嵌入式操作系统部署这些应用软件,这也就是Qt的“一次编写,到处编译”。
Qt不仅仅是一个类库,现在已经发展成为一套完整的SDK,包括跨平台IDE Qt Creator和Qt库,以及其他开发工具,具体有:C++代码编辑器、项目管理工具、构建管理工具、帮助系统、图形化调试器、代码管理和浏览工具。从Qt4.7开始,Qt Quick被引入,它是一种高级用户界面技术,开发人员和设计人员可以用它协同创建动画触摸模式用户界面。
3 Qt的学习方法
顺利学习Qt的开发,要注意发现问题、分析问题、解决问题,多动手编程练习,按照自己的节奏编写程序,坚持学习,同时要多多参考Qt帮助文档。在每学到一个知识点后,都要编写一个完整的Qt程序来应用这个知识点,从实际应用中加深对知识点的理解和掌握程度。
Qt的知识有2个体系。一个是基于C++的Qt Widgets方式编写应用软件,另一个是基于QML和Qt Quick开发应用软件,这两种方式都可以满足软件开发需求,但是在学习Qt的过程中,应该先学习一些基于C++ Qt Widgets的知识,然后再过度到QML和Qt Quick开发技术上来。