Qt 是一个跨渠道的 C++ 图形用户界面库,由挪威 TrollTech 公司出品,现在包含Qt, 根据 Framebuffer 的 Qt Embedded,快速开发东西 Qt Designer,国际化东西 Qt Linguist 等部分 Qt 支撑一切 Unix 体系,当然也包含 Linux,还支撑 WinNT/Win2k,Win95/98 渠道。
基本上,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, BSD/OS, SCO, AIX, OS390,QNX 等等。
面向对象
Qt 的杰出封装机制使得 Qt 的模块化程度非常高,可重用性较好,关于用户开发来说是非常 便利的。 Qt 供给了一种称为 signals/slots 的安全类型来代替 callback,这使得各个元件 之间的协同作业变得非常简略。
丰厚的 API
Qt 包含多达 250 个以上的 C++ 类,还替供根据模板的 collections, serialization, 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 安稳。可是 GNOME 后来开展比较快,大有迎头赶上的气势。 其时两边的开发者在网络 上炒得翻天覆地,连 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 集成, Trolltech 公司天然不能坐以 待毙,于本年 10 月 4 日将 Qt 的 free edition 变为 GPL 宣言,彻底解决了 KDE 的版权问题, 又推出了嵌入式 Qt ,给了 GNOME 阵营一个有力的反击。
到现在为止,这场战役还在持续, 信任咱们不能很快看到成果。一般说来, 现在 GNOME 招引的公司比较多,可是 KDE/Qt 的开发的功率和质量比 GNOME 高,而且在 Office/嵌入式 环境中先走一步,在必定时间内还将处于优势位置。
那么关于用户来说,如安在 Qt/GTK 中作出挑选呢?一般来说,假如用户运用 C++,对库的安稳性,强健性要求比较高,而且期望跨渠道开发的话,那么运用 Qt 是较好的挑选, 可是值得注意的是,尽管 Qt 的 Free Edition 选用了 GPL 宣言,可是假如你开发 Windows 上的 Qt 软件或者是 Unix 上的商业软件,仍是需要向 Trolltech 公司付出版权费用的。