1 走进Qt

1.1 Qt是什么?

1.1.1 Qt是一个跨平台的C++应用程序开发框架

Qt提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI及非GUI应用程序。基本上,Qt和Windows上的MFC、OWL、VCL、ATL等,属于同种类型的技术,但是Qt支持更多平台,包括Windows、Linux、Mac OS、Android、iOS等。使用Qt开发的软件,相同的代码可以在任何支持的平台上编译运行,而不需要修改源代码。它会自动根据平台的不同,表现平台特有的图形界面风格。

1.1.2 Qt是面向对象的框架

Qt使用元对象编译器(Meta Object Compiler,MOC)生成一些宏,使得Qt很容易扩展,并且允许真正的组件化编程。Qt还提供了一种称为“信号/槽”的消息传递机制,取代传统意义上的“回调”,这使得各个组件之间的协同工作变得更加简单,模块化程度更高。

1.1.3 Qt提供丰富的应用编程接口

Qt定义了多达250个以上的C++类,包括但不限于诸如集合、序列化、文件、输入输出设备、目录管理、日期时间等功能,甚至还支持针对正则表达式的处理。

1.1.4 Qt集成了越来越多的功能

经过多年发展,Qt不但拥有完备的GUI能力,还集成了很多用户界面开发以外的功能,比如进程间通信与多线程、2D/3D图形渲染、OpenGL、XML与脚本、网络通信与WebKit、数据库、多媒体,等等。同时Qt还提供大量的开发文档,以方便使用者学习和查阅。

1.2 Qt简史

1.2.1 创世纪

1991年,Haavard Nord和Eirik Chambe-Eng开始开发Qt。

1994年,Quasar Technologies公司成立,后更名为Trolltech,中文名“奇趣科技”。

1995年,Qt 1.0发布,这是第一个为世人所知的版本。

2005年,Qt 4.0发布,这是一个影响力非常大的版本。

1.2.2 诺基亚时代

2008年,奇趣科技被诺基亚收购,更名为Qt Software,以增强其在跨平台软件研发方面的实力。Qt也因此成为诺基亚旗下的一款软件开发工具。

2009年,Qt Software宣布Qt源代码管理系统面向公众开放。Qt正式开源。

1.2.3 后诺基亚时代

在智能手机的巨大冲击之下,诺基亚手机帝国轰然崩塌。

2012年,Digia宣布完成对诺基亚Qt业务及软件技术的全面收购,并计划将Qt移植到Android、iOS等移动平台上。

2013年,Qt 5.0发布,这是迄今为止流行度最高的版本。

2014年,Digia成立全资子公司The Qt Company,专注于Qt技术的开发和拓展。

2020年,Qt 6.0发布,这是目前最新的版本。