标题:Qt的版本和历史
作者:amidiot
日期:2006-04-28 19:35
内容:
Qt的版本和历史
张弛
前言
最近学习了一下Qt,发现它真的是一个很好的东西。仅仅一套就代码可以跨越Linux、Win32、MacOSX和各种Unix平台,几乎涵盖了所有主流的操作系统。而且还提供了构建(qmake)、可视化设计(uic和qdesigner)、国际化(linguist)、文档系统(assistant)等一系列非常好用的工具。尤其是文档系统,绝对可以称得上是出色。
然而,在学习过程中,我遇到的一个困扰就是Qt家族复杂的版本(对于初次接触的人来说,甚至可能有点混乱)。到Trolltech的ftp上看看,有一大堆由这些单词的不同组合命名的包:qt、qtopia、win、x11、mac、free、opensource、commerical、embedded……,让人无所适从。为此专门花了几个小时把查了查这些包的来龙去脉,记在这里,希望对别的初学者也能有所帮助。如果有与实际不符的地方,也请各位大虾批评指正。
版本详述
Qt
Qt是Trolltech的最早也是最有名的产品,它最初是作为一个跨平台(Win32、Mac、Unix)的C++GUI库开发的,但随着它的发展,其中增加了一系列与GUI无关的库,如Xml、Socket、Thread等等,现在Qt已经成为了一个通用的C++跨平台类库。到了4.0版,更是将GUI部分从核心库分离出来,以利于开发无GUI的服务程序。
Qt的版本号分为三部分,例如4.1.2。大版本号之间会有很大的不同,通常类库的结构会进行很大的调整,因此在大版本号发生变化时,新的Qt库无法与原来的程序保持源码级兼容。中间的版本变化通常会引入新的类库和组件,但现有类库的结构一般不会改变。小版本号的变化通常是错误修正,一般会保证二进制兼容。
Qt的授权是分为两条线,商业版和开源版。如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的;如果使用的是开源版的Qt,由于其使用的是GPL协议(不是LGPL),那么可发出的程序也必须是GPL的。
Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台;X11版,适合于使用了X系统的各种Linux和Unix平台;Mac版,适合与苹果MacOSX;embedded版,适合于具有帧缓冲(frame buffer)的Linux平台。
Qt-embedded和Qtopia
Qt在刚出现的时候,对于Linux和Unix系统,只有构建于Xlib之上的X11版。但随着Linux操作系统在嵌入式领域的应用日渐广泛,Qt推出了嵌入式的版本Qt-embedded(Qte)。由于嵌入式受限的硬件环境往往难以运行庞大的X服务器,Qt的嵌入式版跳过了Xlib和XServer直接操作帧缓冲 ..
#1 [dotnetjack 04-29 12:01]
well done
#2 [zccmin 04-30 11:07]
谢谢,整理的很好,用了很久的qt,有时还不能具体知道qt的历史和版本。