于明俭
自由撰稿人
2000 年 11 月 10 日

Qt 是个跨平台的 C 图像用户界面库,由挪威 TrollTech 公司出品,现在包括Qt
, 基于 Framebuffer 的 Qt Embedded,快速研发工具 Qt Designer,国际化工具 Qt
Linguist 等部分 Qt 支持任何 Unix 系统,当然也包括 Linux,还支持 WinNT/Win2k,
Win95/98 平台。

Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程式员
就已开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出然后 Qt 的发展就很快
了,下面是 Qt 发展史上的一 些里程碑:
1996 Oct KDE 组织成立
1998 Apr 05 Trolltech 的程式员在 5 天之内将 Netscape5.0 从 Motif 移植到 Qt 上

1998 Apr 08 KDE Free Qt 基金会成立
1998 Jul 09 Qt 1.40 发布
1998 Jul 12 KDE 1.0 发布
1999 Mar 04 QPL 1.0 发布
1999 Mar 12 Qt 1.44 发布
1999 Jun 25 Qt 2.0 发布
1999 Sep 13 KDE 1.1.2 发布
2000 Mar 20 嵌入式 Qt 发布
2000 Sep 06 Qt 2.2 发布
2000 Oct 05 Qt 2.2.1 发布
2000 Oct 30 Qt/Embedded 开始使用 GPL 宣言
2000 Sep 04 Qt free edition 开始使用 GPL
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图像界 面库和 Windows 平台
上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具备下列长处:
优良的跨平台特性:
Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,
Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, B
SD/OS, SCO, AIX, OS390,QNX 等等。
面向对象
Qt 的良好封装机制使得 Qt 的模块化程度很高,可重用性较好,对于用户研发来说是
很 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使
得各个元件 之间的协同工作变得十分简单。
丰富的 API
Qt 包括多达 250 个以上的 C 类,还替供基于模板的 collections, serializatio
n, file, I/O device, directory management, date/time 类。甚至还包括正则表
达式的处理 功能。
支持 2D/3D 图像渲染,支持 OpenGL
大量的研发文档
XML 支持
但是真正使得 Qt 在免费软件界的众多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,
fltk 等等)中脱颖而出的还是基于 Qt 的重量级软件 KDE 。 有趣的是,KDE 也是使得
Trolltech 公司承受巨大压力的一个原因。下面我们将来看看这场 著名的免费软件圣
战 -- "KDE/QT .VS. Gnome/Gtk" 是怎么发生的。
在 Unix 的图像界面一向是以 MIT 的 X Window 系统为标准, 可是在商业应用上有两
大流派,一派是以 Sun 公司领导的 Openlook 阵营,一派是 IBM/HP 领导的OSF (Open
Software Foundation) 的 Motif, 双方经过多年竞争之后, Motif 最终胜出,成为
最普遍使用的界面库, 后来双方又妥协出一个 CDE(Common Desktop Enviroment) 作为
一个标准的图像界面。 但是 Motif/CDER 的价格很昂贵,在这同时微软的 Windows
图 形界面发展速度很快,而 Unix 界的后起之秀 Linux 也急需一个可靠并且免费的
图像界面。
1996 年 10 月,由研发图像排版工具Lyx的德国人 Matthias Ettrich 发起了 KDE 计划
。 KDE 的全称为 K Desktop Environment,能够看出是针对 CDE。 KDE 本身 是采用
GPL 宣言的,但是 KDE 却是使用 Qt 来作为其底层库,因为当时 Qt 已将其 Unix 版
本自由发布了,但是 Qt 并不遵循 GPL, 因此 KDE 被很多免费软件的作者攻击,认为
利用非自 由软件研发违背了 GPL 的精神,于是 GNU 的狂热信徒兵分两路,一路是去制
作 Harmonny,试图重写一套兼容于 Qt 的替代品,另一路是由一个 26 岁的墨西哥程式
员 Miguel De Icaza 领导 下重新研发一套叫 GNOME(GNU Network Object Enviroment
)来替代 KDE。
由于 Linux 界的老大 RedHat 不喜欢 KDE/Qt 的版权,因此 RedHat 甚至专门派出了几
个全职程式员来加入 GNOME 进行研发工作,于是一场同 Motif VS Openlook 相似的圣
战就这么打起来了。 Trolltech 为了 KDE 曾数次修改 Qt 的版权,从成立 KDE Free
Qt 基 金会到采用 QPL,可谓是费尽心机,但是 GNOME 采用的 GTK 一开始就是完全的
GPL,因此在这个方 面 GNOME 有一定的优势,加上 Qt/KDE 采用 C 研发,入门的门
槛比较高,而 GTK/Gnome 采用 C, 因此 GNOME 吸引了更多的免费软件研发者,但是
KDE 毕竟先走了一步, 推出的 KDE1.1.2 十分稳定, 而当时急忙中推出的 GNOME1.0
的系统稳定性奇差,有人甚至笑称 GNOME1.0 还没有 KDE 1.0 Alpha 稳定。但是 GNOM
E 后来发展比较快,大有迎头赶上的势头。当时双方的研发者在网络 上炒得天翻地覆,
连 Linux 之父 Linus 只是说了一句喜欢用 KDE 都倍受指责。
战争到了第三个年头,也就是2000年,可谓是风云突变,一个接一个重大的事件先后发
生: 首先是一批从 Apple 公司出来的工程师成立了一个叫 Eazel 的公司替 GNOME 设计
界面,然后是一批 GNOME 程式员成立了一个 Helix Code 公司替 GNOME 提供商业支持
,而大家期待以久的 KDE 2.0 也终于发布了,这恐怕是现在最为庞大的自由 软件了之
一, 除了 KDE 本身,还包括 Koffice 套件,和集成研发环境 Kdevelop 等等大批软件
,其主力软件 Kounqueror 也是第一个能够同微软的 Internet Exploer 相抗衡的浏览
器。 而 Sun 公司,Red Hat 公司, Eazel 公司,Helix Code 等一批公司成立了一个
GNOME 基金会, Sun 还宣布将把重量级办公软件 Star office 同 GNOME 集成, Trol
ltech 公司自然不能坐以 待毙,于今年 10 月 4 日将 Qt 的 free edition 变为 GPL
宣言,完全解决了 KDE 的版权问题, 又推出了嵌入式 Qt ,给了 GNOME 阵营一个有
力的回击。
到现在为止,这场战争还在继续,相信我们不能很快看到结果。一般说来, 现在 GNOM

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!