- 中文名
- C++ GUI Qt 4编程
- 作 者
- [加拿大] Jasmin Blanchette,[英] Mark Summerfield
- 类 别
- 编程语言与程序设计
- 原作品
- C++ GUI Programming with Qt 4
- 译 者
- 闫锋欣,曾泉人,张志强
- 出版社
- 电子工业出版社
- 出版时间
- 2013年05月01日
- 页 数
- 508 页
- 定 价
- 65.00
- 开 本
- 16 开
- 装 帧
- 平装
- ISBN
- 9787121202759
内容简介
全书分为四个部分共24章及4个附录:第一部分介绍了Qt的基础知识和编写用户界面应用程序时所需的基本概念;第二和第三部分主要讲解Qt的中高级编程,包括布局管理、事件处理、二维/三维图形、拖放、项视图类、容器类、输入/输出、数据库、多线程、网络、XML、国际化、
嵌入式编程
等内容;第四部分为附录内容,分别介绍了Qt的获取和安装、Qt应用程序的构建、Qt Jambi和
C++
的基础知识。对于本书讲授的大量Qt 4编程原理和实践,都可以轻易将其应用于Qt 4.4、Qt 4.5及后续版本的Qt程序的开发过程中。
[1]
本书详细讲述了用最新的qt版本进行
图形用户界面
应用程序开发的各个方面。前5章主要涉及qt基础知识,后两个部分主要讲解qt的中高级编程,包括布局管理、事件处理、二维/三维图形、拖放、项视图类、容器类、输入/输出、数据库、多线程、网络、xml、国际化、
嵌入式编程
等内容。对于本书讲授的大量 qt4编程原理和实践,都可以轻易将其应用于qt4.4、qt4.5以及后续版本的qt程序开发过程中。
本书适合对qt编程感兴趣的程序员以及广大计算机编程爱好者阅读,也可作为相关机构的培训教材。
译者序
感谢奇趣科技公司(
Trolltech
)为我们提供了Qt。无论是职业的程序开发人员,还是编程爱好者,都希望自己编写的应用程序可以流畅地运行于所有平台,而Qt在这一方面的出众表现令我们印象深刻:利用Qt提供的C++应用程序开发框架,可以轻松实现“一次编写,随处编译”的
跨平台
解决方案,使我们的应用程序能完美运行于从Windows 98到Vista,从
MacOSX
到
Linux
,从
Solaris
、
HP-UX
到其他基于X11的众多
UNIX
平台之上。与此同时,作为Qt组成部分之一的
Qt/Embedded
Linux,也为嵌入式系统的开发人员搭建了一套完善的窗口系统和
开发平台
。.
Qt具有功能强大的在线帮助文档系统。利用它,只需轻点鼠标或者简单敲击几下键盘,就可以轻易制作出简单的“HelloWorld”欢迎对话框,或者甚至是更为复杂的电子制表软件系统。这一点,在众多的软件帮助文档系统中并不多见。然而,帮助文档系统毕竟是以为用户提供实用的类库参考为主要目的的,也就是说,它主要是为用户提供准确的“可以如何做”的信息。这对于喜欢举一反三的程序设计人员来说,显然远远不够,因为我们更喜欢知道“为什么要这么做”。
本书围绕如何使用Qt编写图形用户界面程序这一中心,并尽可能多地采用手写代码的方式,生动、全面而又深刻地阐明了Qt程序的设计理念。当然,在本书以及上一版本相继出版的几年中,Qt已经由一个简单的图形工具包演变成长为具有事实标准意义的应用程序开发框架。如今,蓬勃发展的
KDE
桌面环境和
诺基亚公司
对奇趣科技公司的收购,进一步展示了Qt的无限发展潜力和令人期待的远景。
本书作为“C++GUIProgrammingwithQt4”的第二版,在充分讲述Qt4.x新特性的同时,又较好地延续了第一版的风格。全书仍由四部分构成,第一部分按照循序渐进、由浅人深的原则,介绍了使用Qt编写图形用户界面应用程序时所需的基本概念,并对这些基础知识安排了对应的实践训练,使读者仅利用这一部分知识就足以写出实用的
图形用户界面
应用程序。第二部分进一步深入介绍了Qt中的一些重要知识,如事件处理、拖放操作、项视图、多线程等。第三部分提供了更为专业和高级的内容,如三维图形、创建插件和应用程序脚本等。如果您已经较好地掌握了Qt的基础知识,那么完全可以像使用一本实用参考书一样以任意的顺序阅读第二部分和第三部分中的章节。第四部分由数个附录构成,分别介绍了Qt的获取和安装、Qt应用程序的构建、QtJambi和 C++的基础知识,它们可以帮助您更充分地使用Qt。..
正如PrenticeHall开源软件开发系列丛书主编之一的Arnold Robbins所说的那样,“这的确是一本好书”。首先,本书是由奇趣科技公司推出的关于Qt的官方书籍,也是该公司新员工的培训教材。当然,这只能算作一个佐证而已。其次,作者在介绍Qt程序设计中的很多关键内容时,不仅详细阐述了各种基本概念和底层背景知识,而且还对编程实践中的技巧和理论知识做了充分说明,它们是开发其他程序时可供借鉴的宝贵经验,这也使得本书成为一部很有价值的软件技术书籍。
在本书的翻译过程中,首先要感谢齐亮所做的巨大贡献。当我们在2006年联系他并且希望与他合译本书的第一版时,他就慷慨地接受了。几经辗转,当我们终于得到授权可以翻译第二版(也就是本书)时,他秉持无私的开源精神,无偿奉献了《C++GUIQt 3编程》一书的电子版源文件以及第一版的部分译稿草稿,从而大大提高了翻译进度。齐亮作为国内Qt技术的布道者、执著而无私的开源技术人员(他是KDE开源项目的主要成员之一),值得我们每一个人学习。
本书翻译工作的具体分工是:
西北工业大学
的闫锋欣翻译了本书的第1-7、18、21、23章以及附录A、附录D、前言和致谢等部分;曾泉人翻译了第 9-17章;奇趣科技公司北京分公司的张志苎工程师翻译了本书的第8、19、20、22、24章以及附录B和附录C。我们还邀请了
西安欧亚学院
的周莉娜和赵延兵两位老师作为本书的外部审稿人,他们的细致和耐心,为我们的工作增色不少。此外,参与本书文字
校对工作
的还有:西北工业大学的陆达方和丁士鹏先生,
西安建筑科技大学
的赵国锋硕士。还要感谢西北工业大学的张延超博士,他完成了本书第一版的审校工作。
作品目录
2.2深入介绍信号和槽
2.3快速设计对话框
2.4改变形状的对话框
2.5动态对话框
2.6内置的窗口部件类和对话框类
第3章创建主窗口
3.1子类化QMainWindow
3.2创建菜单和
工具栏
3.3设置
状态栏
3.4实现File菜单
3.5使用对话框
3.6存储设置
3.7多文档
3.8程序启动画面
第4章实现应用程序的功能
4.1中央窗口部件
4.3载入和保存
4.4实现Edit菜单
4.5实现其他菜单
4.6子类化QTableWidgetItem
第5章创建自定义窗口部件
5.1自定义Qt窗口部件
5.2子类化QWidget
5.3在Qt设计师中集成自定义窗口部件
5.4
双缓冲
第二部分Qt中级
第6章布局管理
6.1在窗体中摆放窗口部件
6.2分组布局
6.3切分窗口
6.4滚动区域
6.6多文档界面
第7章事件处理
7.1重新实现
事件处理器
7.2安装事件过滤器
7.3处理密集时的响应保持
第8章二维图形
8.1用QPainter绘图
8.2坐标系统变换
8.3用QImage高质量绘图
8.4基于项的图形视图
8.5打印
第9章拖放
9.1使拖放生效
9.2支持自定义拖动类型
9.3剪贴板处理技术
第10章项视图类
10.1使用项视图的简便类
10.2使用预定义模型
10.3实现自定义模型
10.4实现自定义委托
第11章容器类
11.1连续容器
11.2关联容器
11.3通用算法
第12章输入与输出
12.2读取和写入文本
12.3遍历目录
12.4嵌入资源
12.5
进程间通信
第13章数据库
13.1连接和查询
13.2查看表
13.3使用窗体编辑记录
13.4在表中显示数据
第14章多线程
14.1创建线程
14.2同步线程
14.4在次线程中使用Qt的类
第15章网络
15.1写FTP客户端
15.2写HTTP客户端
第16章XML
16.1使用QXmlStreamReader读取XML
16.2用DOM读取XML
16.3使用SAX读取XML
16.4写入XML
第17章提供在线帮助
17.1工具提示、状态提示和“What's This?”帮助
17.3将QTextBrowser作为简单的帮助引擎
17.4使用QtAssistant提供强大的在线帮助
第三部分Qt高级
第18章国际化
18.1使用
Unicode
18.2让应用程序感知翻译
18.3动态切换语言
18.4翻译应用程序
第19章自定义外观
19.1使用Qt样式表
第20章三维图形
20.2OpenGL和QPainter的结合
20.3使用帧缓存对象生成叠加
第21章创建插件
21.1利用插件扩展Qt
21.2使应用程序感知插件
21.3编写应用程序的插件
第22章应用程序脚本
22.1ECMAScript语言概述
22.2使用脚本扩展Qt应用程序
22.3使用脚本实现GUI扩展
22.4使用脚本自动化处理任务
第23章平台相关特性
23.1连接本地的应用程序编程接口
23.2在Windows上使用
ActiveX
23.3处理X11
会话管理
第24章
嵌入式编程
24.1从Qt/EmbeddedLinux开始
24.2自定义Qt/EmbeddedLinux
24.4使用Qtopia的API
第四部分附录
附录AQt的获取和安装
A.1协议说明
A.2Qt/Windows的安装
A.3Qt/Mac的安装
A.4Qt/X11的安装
附录B编译Qt应用程序
B.1使用
qmake
B.2使用第三方编译工具
附录CQtJambi简介
C.1QtJambi入门
C.2在EclipseIDE中使用QtJambi
C.3在QtJambi中集成C++组件
D.1C++入门
D.2主要语言之间的差异
D.3C++标准库
[1]