1.2 Qt 纪事概览

Qt Software 前身为 Trolltech(奇趣科技),Trolltech 始创于 1994 年

  • 1996 年 Qt 上市
  • Qt 已成为数以万计的商业和开源应用程序的基础
  • Qt 的软件授权机制具有经受市场检验的双重授权(开源与商业)模式
  • Trolltech 于 2008 年 6 月被 Nokia 收购,加速了其跨平台开发战略 阅读材料:Qt 简史

Qt 工具包最初是在 1995 年 5 月变为公众可用的。它最初由 Haavard Nord(Trolltech 的 CEO)和 Eirik Chambe-Eng(Trolltech 的总裁)开发。Haavard 和 Eirik 是在位于挪威特 隆赫姆的挪威科技学院相识的,在那里他们都获得了计算机科学硕士学位。

Havvard 对 C++图形用户界面开发的兴趣始于 1988 年,当时他被一家瑞典公司委托设 计并且开发一个 C++图形用户界面工具包。

几年后,在 1990 年夏天,Havvard 和 Eirik 因为一个超声波图像方面的 C++数据库应 用程序在一起工作。这个系统要求能够在 Unix、Macintosh 和 Windows 上都能运行。那个 夏天中的一天,Haavard 和 Eirik 出去散步享受阳光。当他们坐在公园的一个长椅上, Haavard 说:“我们需要一个面向对象的显示系统。”由此引发的讨论奠定了他们即将创建 的面向对象的多平台图形用户界面工具包的智力基础。

Haavard 于 1991 年开始和 Eirik 合作设计、编写最终成为 Qt 的这些类。随后的一年, Eirik 提出了“信号和槽”的设想-一个简单并且有效的强大的图形用户界面编程范例。 Haavard 实践了这个想法,并且建立了一个手写代码实现。到 1993 年,Haavard 和 Eirik 当时已经开发出了 Qt 的第一个图形核心并且能够实现他们自己的窗口部件。同年末, Haavard 提议他们一起开展并且创建“世界上最好的 C++图形用户界面工具包”的业务。

1994 年成为两个程序员不幸的一年,他们没有客户,没有资金,只有一个未完成的产 品,却希望闯入一个稳定的市场。非常幸运的是他们的妻子都有工作并且愿意支持他们的丈 夫。在这两年里,Haavard 和 Eirik 认为需要继续开发他们的产品并且开始盈利。

他们选择“Q”作为类的前缀,是因为该字母在 Haavard 的 Emacs 字体中看起来非常漂 亮。“t”代表“工具包(toolkit)”,是从“Xt”,X 工具包中获得的灵感。公司于 1994 年 3 月 4 日创立,最初名为“Quasar Technologies”,后更名为“Troll Tech”,现在改 为“Trolltech”。

1995 年 5 月,通过 Haavard 大学时的一个教授的联系,挪威 Metis 公司与他们签订了 一份基于 Qt 进行软件开发的合同。大约同一时间,Trolltech 雇佣了 Arnt Gulbrandsen, 正是他设计并实现了一套有独创性的文档系统,并且对 Qt 的代码也作出了贡献。

1995 年 5 月 20 日,Qt 0.90 被上传到 sunsite.unc.edu。6 天后,在 comp.os.linux- announce 上发布。这是 Qt 的第一次公开发布。Qt 可以被同时用于 Windows 和 Unix 开发,

它在两种平台上提供了相同的应用程序编程接口。从第一天起, Qt 就提供两种许可版本:

一种是进行商业开发所需的商业许可版本,另一种是进行开源开发的自由软件版本。 Metis 的合同确保了 Trolltech 的发展,在 10 个月之内没有人购买 Qt 的商业许可。

1996 年,European Space Agency 购买了 10 份 Qt 商业许可,成了第 2 个 Qt 客户。凭 着坚定的信念,Eirik 和 Haavard 又雇佣了另外一个开发人员。Qt 0.97 在 5 月底发布,并 且在 1999 年 9 月 24 日,Qt1.0 面世。在这一年底,Qt 已经发展到了 1.1 的版本,共有来 自 8 个不同国家的客户,他们购买了 18 份商业许可。这一年,在 Matthias Ettrich 的带 领下,创立了 KDE 项目。

Qt 1.2 在 1997 年 4 月发布。Matthias Ettrich 利用 Qt 建立 KDE 的决定似的 Qt 成为 在 Linux 环境下开发 C++图形用户界面的实际标准。Qt1.3 在 1997 年 9 月发布。

Matthias 在 1998 年加入 Trolltech。当年 9 月最后一个 1 系列的版本 1.40 发布。 1999 年 6 月 Qt2.0 发布。Qt2.0 有很多架构上的改变,比它的前几个版本功能更为强大, 更为成熟。它还具备了 40 个新类和 Unicode 支持。Qt2 有了一个新的开源许可,Q 公共许 可(QPL,Q Public License),它遵循了开源定义。在 1999 年 8 月,Qt 赢得了 LinuxWorld 的最佳库/工具奖。大约在这个时候,Trolltech Pty Ltd(澳大利亚)建立了。

Trolltech 在 2000 年发布了 Qt/Embedded。它被设计为可以运行在嵌入式 Linux 设备 上,并且提供了它自己的窗口系统作为 X11 的轻型替代品。现在 Qt/Embedded 和 Qt/X11 除 了提供商业许可之外,还可以提供被广泛使用的 GNU 通用许可(GPL,GNU General Public License)。到 2000 年底,Trolltech 已经创建了 Trolltech Inc.(美国),并发布了第 一个 Qtopia 版本,一个手持设备环境。Qt/Embedded 在 2001 年和 2002 年两次获得 LinuxWorld“Best Embedded Linux Solution”(最好的嵌入式 Linux 解决方案)奖。

Qt3.0 在 2001 年发布。现在 Qt 可以用于 Windows、Unix、Linux、嵌入式 Linux 和 Mac OS X。Qt3.提供了 42 个新类和超过 50 万行的代码。Qt3.0 在 2002 年赢得了 Software Development Tools 的“Jolt Productivity Aword(震撼生产力奖)”。

2005 年夏,Qt4.0 发布,它大约有 500 个类和 9000 多个函数,Qt4 比以往的任何一个 版本都要全面和丰富,并且它已经裂变成多个函数库,从而使开发人员可以根据自己的需要 只连接所需要的 Qt 部分。相对于以前的所有 Qt 版本,Qt4 的进步是巨大的,它不仅彻底的 对高效易用的模板容器、高级的模型 /视图功能、快速而灵活的二维绘图框架和强大的统一 字符编码标准的文本查看和编辑类进行了大量改进,就更不必说对那些贯穿整个 Qt 类中的 成千上万个小的改良了。现如今, Qt4 具有如此广泛的特性,以至于 Qt 已经超越了作为图 形用户界面工具包的界限,逐渐成长为一个成熟的应用程序开发框架。 Qt4 也是第一个能够 在其所有可支持的平台上既可用于商业开发又可用于开源开发的 Qt 版本。

同样在 2005 年,奇趣公司在北京开设了一家办事处,以便为中国及其销售区域内的用 户提供服务和培训,并且为 Qt/Embedded Linux 和 Qtopia 提供技术支持。

通过获取一些非官方的语言绑定件(Langauge binding),非 C++程序员也已早就开始 使用 Qt,特别是用于 Python 程序员的 PyQt 语言绑定件。2007 年,公司发布了用于 C#程序员的非官方语言绑定件 Qyoto。同年,Qt Jambi 投放市场,它是一个官方支持的 Java 版 Qt应用程序编程接口。

自奇趣公司(现已被 NOKIA 收购)诞生以来,Qt 的声望经久不衰,而且至今仍然保持 高涨。取得这样的成绩不但说明了 Qt 的质量,而且也说明了人们都喜欢使用它。在过去的 10 年中,Qt 已经从一个只被少数专业人士所熟悉的“秘密”产品,发展到了如今遍及全世 界拥有数以千计的客户和数以万计的开源开发人员的产品。