ITEEDU

Qt的学习心得——连载

站长原创,版权所有ITEEDU,2011-04-06

花了1~2个月的时间在linux下边学习Qt ,从头到尾系统地学习了一下子,感觉Qt真是个好东东呢……

原来仅仅是做界面的,后来添加了好多和界面无关的东西:QXml、QNetwork、QSql等模块,而且已经将界面部分独立起来了。成了C++的一个跨平台的应用库,功能越来越强大。

如果在Linux下感觉不太熟悉,转移到Windows下边,其环境也是没得说的。相当好使了!以前还在犹豫是学习GTK呢,还是学习Qt,现在看来那些犹豫就是多余的,学习Qt挺好的,资料多,做的人多,工具也比较全。

有句话叫做:“大家做,才是真的做!大家学才是真的学!人多力量大”,比较有前途。呵呵

目前,我已经转移到Windows环境下边,进一步学习Qt,搭建了环境,并找了一些资料系统地了解了一下子Windows下边Qt开发的过程,以及Qt creator工具的使用。

下边先引导大家了解一下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直接操作帧缓冲,可以在速度和体积上有很大的提高。

Qtopia最初是sourceforge.net上的一个开源项目,全称是Qt Palmtop Environment,是构建于Qte之上一个类似桌面系统的应用环境,包括了PDA和手机等掌上系统常见的功能如电话簿、日程表等。现在Qtopia 已经成为了Trolltech的又一个主打产品,为基于Linux操作系统的PDA和手机提供了一个完整的图形环境。

值得特别注意的是 Qte和Qtopia之间的关系。在版本4之前,Qte和Qtopia是不同的两套程序,Qte是基础类库,Qtopia是构建于Qte之上的一系列应用程序。但从版本4开始,Trolltech将Qte并入了Qtopia,并推出了新的Qtopia4。在该版中,原来的Qte被称为Qtopia Core,作为嵌入式版本的核心,既可以与Qtopia配合,也可以独立使用。原来的Qtopia则被分成几层,核心的应用框架和插件系统被称为 Qtopia Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone。

还有一个需要注意的就是Qtopia没有出过3.x版,直接从2.20版跳到了4.x版,我想这主要是为了整合Qte,并与Qt的版本保持同步。

Qt版本问题

大家都觉着Qt的版本问题很乱,其实在了解Qt的时候不要明白它的每一版本,我们只要在开发的时候选择自己需要的就行。
大的方向:开源的 or 商业版的。

中的方向:linux or windows or其他;还有32位的,or 64位的。

小的方向:最新的版本。

目前最新的版本:Qt库为4.7.2。

安装了Qt库之后,需要安装开发工具,是Qt creator or eclipse or Qdevelop or kdevelop等,再根据个人爱好。如果不知道就,我个人建议选择Qt creator 和eclipse。

如果选择了creator,目前最新版本是2.2的,做的挺好的。

Qt 在windows的开发环境的搭建过程

首先到Qt的官方网站上http://developer.qt.nokia.com/resources下载Qt库和Qt creator工具(下载.exe的)。

安装Qt库,安装完毕后,里边自带的有Assistant、Designer、Qt 4.7.2 Command Prompt、Qt 4.7.2 (Build Debug Libraries)。

设置Qt库路径,在“我的电脑”环境变量中设置PATH,其后边添加;C:\Qt\4.7.2\bin。

在安装Qt creator,按照步骤点击即可。

打开Qt creator,在“工具”->"选项"中的Qt中自动检测的Qt库路径中单击,在下边设置在安装Qt时的MinGw的路径:C:\Qt\qtcreator-2.1.0\mingw。

如果你的电脑中没有安装其他g++ 编译器就没问题了,否则可能在编译Qt应用程序时会出现问题。我以前安装了Dev-C++,就出现了错误。

如果想学习更多的有关qt creator开发的基础知识,请见Qt creator-win32 入门。