具体描述
本书主要讲述如何利用Python和Qt开发GUI应用程序的原理、方法和关键技术。本书共分四个部分:第一部分主要讲述Python基础知识,第二部分通过三个例子给出PyQt GUI应用程序的初步印象,第三部分深入讲述窗口部件布局、事件处理、窗口部件子类化、Qt图形架构和Qt的模型/视图等内容,第四部分介绍国际化、网络化和多线程化等内容。
作者简介
闫锋欣,西北农林科技大学教师,主要从事机械工程设计及自动控制研究,熟练掌握C/C++语言。出版过多本译著! Mark Summerfield:Qtrac公司的创始人,独立的培训讲师、顾问、技术编辑,Go、Python、C++、Qt和PyQt方面的技术作家。Summerfield于1993年毕业于英国的威尔士斯旺西大学计算机专业。在加入Trolltech(奇趣科技)之前的几年时间,他在很多公司担任软件工程师的工作。最近几年,他成为了Trolltech的文档管理员,负责维护1500多页的Qt在线文档,创立了并负责编辑Trolltech的技术杂志Qt Quarterly。
目录信息
第1章 数据类型和数据结构
1.1 执行Python代码
1.2 变量和对象
1.3 数字和字符串
1.3.1 整数和长整型
1.3.2 浮点数和小数
1.3.3 字节字符串、 Unicode字符串和QString
1.4 集合
1.4.1 元组
1.4.2 列表
1.4.3 字典
1.4.4 集
1.5 内置函数
小结
练习题
第2章 控制结构
2.1 条件分支
2.2 循环
列表解析和生成器
2.3 函数
2.3.1 生成器函数
2.3.2 关键字参数的使用
2.3.3 lambda函数
2.3.4 动态函数的创建
2.3.5 偏函数应用程序
2.4 异常处理
小结
练习题
第3章 类和模块
3.1 实例的创建
3.2 方法和特殊方法
3.2.1 静态数据、 静态方法和装饰器
3.2.2 例: Length类
3.2.3 集合类
3.2.4 例: OrderedDict类
3.3 继承和多态
3.4 模块和多文件应用程序
小结
练习题
第二部分 GUI编程基础
第4章 GUI编程简介
4.1 25行的弹出式闹钟
4.2 30行的表达式求值程序
4.3 70行的货币转换程序
4.4 信号和槽
小结
练习题
第5章 对话框
5.1 简易对话框
5.2 标准对话框
OK/Cancel型模态对话框
5.3 智能对话框
5.3.1 非模态应用/关闭型对话框
5.3.2 非模态的实时对话框
小结
练习题
第6章 主窗口
6.1 主窗口的创建
6.1.1 动作和按键顺序
6.1.2 资源文件
6.1.3 创建和使用动作
6.1.4 恢复和保存主窗口的状态
6.2 用户动作的处理
6.2.1 文件动作的处理
6.2.2 编辑动作的处理
6.2.3 帮助动作的处理
小结
练习题
第7章 使用Qt设计师
7.1 用户界面的设计
7.2 对话框的实现
7.3 对话框的测试
小结
练习题
第8章 数据处理和自定义文件格式
8.1 主窗口的职责
8.2 数据容器的职责
8.3 二进制文件的保存和加载
8.3.1 用QDataStream读写
8.3.2 使用pickle模块读写
8.4 文本文件的保存和加载
8.4.1 使用QTextStream读写
8.4.2 使用codecs模块读写
8.5 XML文件的保存和加载
8.5.1 XML的写
8.5.2 用PyQt的DOM类来读取和解析XML
8.5.3 用PyQt的SAX类读取和解析XML
小结
练习题
第三部分 中级GUI编程
第9章 布局和多文档
9.1 布局策略
9.2 Tab标签页窗口部件和堆叠窗口部件
9.3 窗口切分条
9.4 单文档界面(SDI)
9.5 多文档界面(MDI)
小结
练习题第10章 事件、 剪贴板和拖放
10.1 事件处理机制
10.2 重新实现事件处理程序
10.3 使用剪贴板
10.4 拖放
小结
练习题第11章 自定义窗口部件
11.1 使用窗口部件样式表
11.2 创建复合窗口部件
11.3 子类化内置窗口部件
11.4 子类化QWidget
11.4.1 例: 分数滑块
11.4.2 例: 流体混合窗口部件
小结
练习题第12章 基于项的图形
12.1 图形项的自定义和交互
12.2 动画和复杂形状
小结
练习题第13章 Rich文本和打印
13.1 Rich文本的编辑
13.1.1 使用QSyntaxHighlighter
13.1.2 Rich文本的行编辑
13.2 文档打印
13.2.1 图片的打印
13.2.2 使用HTML和QTextDocument打印文档
13.2.3 使用QTextCursor和QTextDocument打印文档
13.2.4 使用QPainter打印文档
小结
练习题第14章 模型/视图编程
14.1 使用简便项窗口部件
14.2 创建自定义模型
14.2.1 实现视图逻辑
14.2.2 实现自定义模型
14.3 创建自定义委托
小结
练习题第15章 数据库
15.1 连接数据库
15.2 执行SQL查询
15.3 使用数据库窗体视图
15.4 使用数据库表视图
小结
练习题
第四部分 高级GUI编程
第16章 高级模型/视图编程
16.1 自定义视图
16.2 泛型委托
16.3 树中表达表格数据
小结
练习题
第17章 在线帮助和国际化
17.1 在线帮助
17.2 国际化
小结
练习题
第18章 网络应用
18.1 创建TCP客户端
18.2 创建TCP服务器
小结
练习题
第19章 多线程
19.1 创建线程服务器
19.2 创建和管理次线程
19.3 实现次线程
小结
练习题
这并非结束
附录A 安装
附录B PyQt的部分窗口部件
附录C 部分PyQt类的层次
· · · · · · (收起)
读后感
用户评价
这本书的知识覆盖面相当全面,从基础的控件使用,到更高级的主题定制,甚至还涉及到了数据持久化和多线程处理等进阶内容。对于一本专注于“快速编程”的书籍来说,能做到如此广度和深度的平衡,实属不易。我感觉它不像是一本只教你“搭积木”的工具手册,更像是一本“架构设计”的入门指南。它不仅教我怎么写代码实现功能,更重要的是,它在潜移默化中培养了我对良好代码结构和可维护性的追求。读完后,我能明显感觉到自己在构思应用程序结构时的思路变得更加清晰和有条理了。
这本书的封面设计非常吸引人,配色大胆而又不失专业感,立刻就抓住了我的眼球。我是一个刚接触GUI编程的新手,很多教程和书籍对我来说都显得过于深奥或者晦涩难懂,但这本书的排版和结构让我感到非常亲切。它似乎非常注重读者的上手体验,从最基础的概念开始,循序渐进地引导我们进入Qt的世界。我特别喜欢它在介绍每个模块时,都会先给出一个清晰的“为什么”和“能做什么”的宏观视角,而不是直接抛出代码。这种讲解方式让我更容易理解技术背后的设计哲学,而不是死记硬背语法。我感觉作者在组织内容时,真的站在一个初学者的角度去思考,每一个知识点都安排得恰到好处,不会让人产生强烈的挫败感。
深入阅读后,我发现这本书的实战性非常强,它不仅仅停留在理论的讲解,更侧重于如何快速构建出功能完善的应用程序。书中提供的代码示例都非常精炼和实用,每一个例子都不是孤立的,而是像乐高积木一样,你可以很容易地将前一章学到的知识,应用到后一章更复杂的界面构建中去。我特别欣赏它在界面布局管理上的细致入微,这块内容往往是新手最头疼的地方。通过这本书,我学会了如何使用不同的布局管理器来应对复杂的窗口设计,并且理解了响应式设计的核心思想,这让我的界面不再是僵硬的、固定的布局了。
这本书的语言风格非常平实流畅,读起来感觉就像是在听一位经验丰富的工程师朋友在旁边讲解。它没有过多使用那些让人望而生畏的专业术语,即使是不得不出现的技术名词,作者也会用非常生活化的比喻来解释清楚,这一点对我这个非科班出身的读者来说简直是福音。我注意到书中有很多“小贴士”或者“注意事项”的标注,这些地方往往隐藏着作者在实际开发中踩过的“坑”,对于我们想避开弯路的人来说,价值无可估量。比如,关于信号和槽机制的讲解,不再是干巴巴的理论阐述,而是通过好几个贴近实际应用场景的例子,让我一下子就明白了它们是如何协同工作的,效率提升是实实在在的。
对于那些希望高效掌握Qt编程,并且希望尽快做出成果的开发者来说,这本书绝对是一个上佳的选择。它的节奏把握得非常好,既不过于缓慢拖沓,也不会因为追求速度而牺牲掉关键的理解深度。我个人认为,这本书的价值在于它提供了一个非常扎实且高效的学习路径。你不需要去翻阅厚厚的官方文档来摸索,这本书已经帮你把最精华、最常用的部分提炼出来了。它就像一个精心准备的“工具箱”,里面放的都是最锋利、最顺手的工具,让你能够立刻投入到实际的项目开发中去,这对于提高工作效率非常有帮助。
翻译是真的很差
我的天,绝望的翻译。
垃圾中的战斗机,原书都被毁掉了,不尊重原书,这里摘一点那里摘一点,不成体系不成逻辑。三流大学的三流教师(专业还是农业开发)的垃圾翻译,估计就是混职称的书。
我的天,绝望的翻译。
翻译炸裂