Andrew Huang
Qt在版本的分支非常之多,因此初学者经常搞得有点糊涂.因此特地列出这个版本历史.让初学有一些了解.
1.Qt的版本变迁
)
1.1 QT桌面版历史
首先QT是Trolltech公司开发的一个跨平台的C++编程库.但是 QT最早是针对Linux 的一个C++编程库.Linux 的图形库底层都是X Windows系统. 最早是按X1,X2,X3直到X11,X11于1987年9月15号发布,但是后面开发统一以 X11Rn.n来命名新的版本,因此到最近的一版本.(2009/07/26)称为 X11R7.5 .X11就固化成X Windows的最新版本了.
所以最早的版本实现是针对X Windows的,所以称为 Qt/ X11.即Qt 1.0在1996年.8月发布.
接着很快推出 Qt/Windows.针对Windows平台.这样Qt一开始就成为一个跨平台的开发平台.
在Qt 1.45 版本,QT开始开源.
1999/06 发布Qt 2.0.
2001年10月15日 发布 Qt 3.0 ,在这个版本增加对Mac OS的支持 Qt/MacOS
现在主流Linux的Qt库都是采用Qt 3.3
1.2 qte(Qt的嵌入式版本)
大约在2000年,TrollTech 开发针对嵌入式Linux的版本. 称为 Qt/embeded ,简称 qte.它的底层图形采用frameBuffer.因为除在编程接与Qt/X11相同,在底层是完不同实现.在很长一段时间内qt 与qte是各自独立发展的.qte的最高版本应该是1.1
在很长一段时间里 ,Qte只有针对嵌入式LINUX版本.
1.3 Qt4的重大变革.
2005年6月27日 Qt 4.0 发布,这一个版本产生的重大变革是,Qt和Qte开始合为一个版本进行发布.
并在QT4开始迅速扩展到其它嵌入式平台.
2008年5月 Qt 4.4 发布,它增加了对WinCE的支持.
2008年6月17日TrollTech被NOKIA公司收购,更名为QT Software.并确定未来在NOKIA大量采用Symbian的开发平台将使用QT.
2009年3月 Qt 4.5 发布.QtCreator包含在其中,QT拥有统一的集成开发平台.结束了用插件在其它IDE开发历史.
2009年12月 Qt 4.6 推出,QT加入对Symbian的支持.
在最终本文时,正在核实年份时,惊闻Nokia 又在2010年3月份,也就是前几天.又发布了 Qt4.7 和QtCreator 2.0.
而且作为嵌入式开发者需要关注是两个重要平台的分支版本针对IPhone 的 Qt-iPhone 和针对Andriod 的Android-Lighthouse开发正在进行中.
2.基于QT开发的桌面管理系统
2.1 KDE
其中最有名是大家熟知KDE,当QT 1.0推出不久,1996 就被KDE的创建者选为底层开发库.在随后的历史中,每当QT做一次较大的升级,KDE就会做相应升级.
1998年7月.KDE 1.0发布
但在一个商业软件上开发一个开源软件引起巨大的争议.QT的开源部分解决这个问题.
1998年11月.QT发布开源版.
2000年10月 KDE 2.0发布
2002年4月. KDE 3.0发布,基于QT 3.X.这个版本开始支持Mac OS.因此KDE被引入到Mac OS上.大部分的LINUX发行版的KDE一般都是这个版本.
2008年1月. KDE4发布.
2.2 Qtopia /QtExtended
Qtopia 最早是一个开源项目,使用Qte为底层开发库.一个嵌入式桌面.网站后被QT合并到QT一并发行.
2000年 .Qtopia 1.0发布.
2002年 Qtopia 2.2 发布,基于qte 1.1 这是很多ARM开发板喜欢使用的版本,随后停止了开发.
一般是qtopia for ARM的版本,但是必须要有开发板才行,这样有时开发不太方便,所以QT开发了qvfb(Qt virtual FrameBuffer)用于在x86模拟frameBuffer设备.这样可以直接用qvfb模拟慷慨就可在桌面平台开发.所以一般的 Qtopia/X11 就是指这个版本.
当Qt4 统一了 Qt和Qte后,为了和Qt4的版本号统一起来.Qtopia 的版本号也被升到4.
2007年3月,Qtopia最后一个版本 4.3.2发布. 它是基于Qt 4.3
2008年 9月 Qtopia 被Nokia 改名为 Qt Extended .官网随之改名为 但版本号仍然延伸下来.网上能下载到最高版本是 Qt Extended 4.4 .
2.3 QWS是什么?
在QT的编程和文档里经常看到 qws 这个术语,全称是 Qt Windows System.这是QT自行开发的窗口系统.体系结构类似于X Windows,是一个C/S结构,即显示是由QWSServer实现,由QWSClient实现界面,两者通过socket进行通讯.
如果在命令行带 -qws参数.表示这个程序是QWServer,否则是QWClient.
在很多嵌入式系统里,QT基本上用QWS来实现.这样保证其可移植性.QT的联机文档
<> 详细解释这个结构
后记:短短一篇文章,花了很长时间才理出一点头绪.核实,查找资料花了很长时间.其中年份可能有所不对u.如有更准确的年份记录,请发邮件 通知我.
阅读(1850) | 评论(0) | 转发(0) |