前言
本书第1版出版已近三年了,其间Qt也发生了较大的变化。最重要的就是Trolltech公司被Nokia收购,由此改变了Qt发展的趋势。Qt走向了更为开放,功能更丰富,支持的平台更多的道路。
Qt新特点
归纳起来有以下几点:
1.支持LGPL(GNU Lesser General Public License)协议。
我们知道,当一个自由软件使用GPL声明时,该软件的使用者有权重新发布、修改该软件,并得到该软件的源代码;但只要使用者在其程序中使用了该自由软件,或者是使用修改后的软件,那么使用者的程序也必须公布其源代码,同时允许别人发布、修改。也就是说,使用GPL声明下的自由软件开发出来的新软件也一定是自由软件。LGPL是GPL的变种,与GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。Qt支持LGPL协议后,用户使用开源版Qt获得了更大的自由度。
2.开放了Qt源代码库,并鼓励社区参与。
以前Qt虽是开源代码,但源码库并未开放,现在在http://qt.gitorious.org/可以自由地访问Qt源码库,并可以为Qt做出自己的贡献。Qt的源码库使用分布式版本控制系统Git管理,也可以通过浏览器浏览。这里有Qt,Qt Creator,Qt Jambi等多个项目等着您的参与!开放源代码库,拉近了Qt开发者与用户之间的距离。
3.彻底开放了原来商业平台的代码。
原来只能在商业版中使用的ActiveQt,Oracle数据库驱动等,现在都能在开源版中使用。开源版和商业版不再是两个源码不同的版本,只是遵守的协议不同而已。开源版用户终于能享受全功能Qt了。同时在Windows平台上也开放了Visual Studio插件和相应支持,开源版用户在Windows上除使用MinGW开发外又多了一项选择,使用Visual Studio开发Qt应用。
4.对嵌入式平台支持力度加大。
Qt除了继续支持嵌入式Linux平台外,增加了对Windows CE,Symbian,Maemo 5等嵌入式平台的支持。与此同时,推出了Qt Mobility软件包,对手机上的GPS设备、多媒体、短信、电话等功能提供了较完善的支持,让用户开发手机应用更为便利。同时Qt还对实时操作系统VxWorks和QNX提供了社区支持,为平淡无奇的嵌入式图形系统打了一剂强心针。
5.最后就是不断添加到Qt软件包中的功能,并行计算框架、动画框架、状态机框架、多媒体框架等几个框架为Qt增色不少。
浏览器、XQuery、XPATH、XSLT、多点触摸、图形效果支持提升了Qt的能力。当然还有其他功能和性能改进不能一一列出,这都使得Qt4走向了成熟。Qt4.7中更是引入了类似于Windows ZAML的声明式UI编程的功能,该功能命名为Qt Quick。
总之,在几年前,我们还需要向周围的人介绍什么是Qt,如今只需要对如何更好地应用Qt进行交流。在国内图书市场上,也出现了为数不少Qt相关的书籍。为了与时俱进,本书也根据新版的Qt4.7进行了修改,推出了第2版,但本版中不包括Qt Quick编程介绍。
本书的结构
本书共25章,每章讨论一个专题。章节安排上基本采用循序渐进、由浅到深的原则。但最后的高级篇中的章节没有很强的关联,可以按照随意的顺序阅读。每章内容及作者分述如下:
如何获取源代码
由于Qt是跨平台的,因此书中的内容应用能够在Windows、Linux、UNIX和Mac OS上运行,书中的程序可能在下列平台之一上编写:Windows XP/Vista、Linux(OpenSuSE、Fedora Core等)。因此书中的屏幕截图可能来源于其中的任何一种操作系统。
要获取本书的源代码,可以访问博文视点资讯有限公司网站获取:
http://www.broadview.com.cn。
致谢
与电子工业出版社孙学瑛编辑是第二次合作了,孙编辑对本书的关心和认真细致的工作,使本书能够及时出版,再次表示诚挚的谢意。
问题反馈
欢迎广大读者和专家对本书提出建议和批评。如果您认为书有错误或对我们有什么建议,可以联系jsj@phei.com.cn。
蔡志明 卢传富 李立夏
2010年9月30日于武汉