编程书籍推荐:Python Qt GUI快速编程:PyQt编程指南 [Rapid GUI Programming with Python and Qt: The Defi],由电子工业出版社2016-08-01月出版,本书发行作者信息: [英] Mark Summerfield(马克·萨默菲尔德) 著,闫锋欣,黄琳雅,王军锋等 译此次为第1次发行, 国际标准书号为:9787121298066,品牌为电子工业出版社, 这本书采用平装开本为16开,附件信息:未知,纸张采为胶版纸,全书共有460页字数81万 1000字,值得推荐的Python Book。
此书内容摘要
本书主要讲述如何利用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。
编辑们的推荐
适读人群 :本书结构合理,内容详实,适合用作对Python、Qt和PyQt编程感兴趣的科教人员和广大的计算机编程爱好者阅读,也可作为相关机构的培训教材。
讲解Python基础知识。
通过三个例子讲解PyQt GUI应用程序。
深入讲述窗口部件布局、事件处理、窗口部件子类化、Qt图形架构和Qt的模型/视图。
介绍国际化、网络化和多线程化。
Python Qt GUI快速编程:PyQt编程指南 [Rapid GUI Programming with Python and Qt: The Defi]图书的目录
第一部分 Python编程
第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类的层次
部分内容试读
译者序
Python是一种面向对象、解释型程序设计语言,由GuidovanRossum于1989年发明并于1991年发布第一个公开发行版。Python简洁而清晰的语法,丰富而强大的库,使其能够将其他语言编写代码模块(尤其是C/C++)轻松联结在一起,从而在不影响程序性能的前提下,大大降低整个应用程序的开发成本和资源占用。Python自2004年以来,已成为全球最受欢迎的程序设计语言之一,用户数呈线性激增,被TIOBE计算机编程语言排行榜评为2010年的年度语言。Python语言在卡耐基?梅隆大学、麻省理工学院、清华大学等国内外高校和科研机构的用户众多,也进而推动了Python的快速发展。
Qt是一个性能卓越的跨平台C++图形用户界面应用程序开发框架。自1991年由奇趣科技(Trolltech)推出至今的25年间,深受业界赞誉,并先后于2008年、2012年被诺基亚(Nokia)和大奇(Digia)收购,实现了由单一的桌面计算机和嵌入式应用领域到全IT行业的转变。2014年4月,Qt开发团队正式发布跨平台的集成开发环境QtCreator3.1.0,实现了对iOS的完全支持,新增了WinRT、Beautifier等插件,集成了基于Clang的C/C++代码模块,调整了对Android的支持,实现了iOS、Android、WP的全面支持。目前,Qt的用户已经涵盖了全球众多知名厂商,如Google、Adobe、IBM、华为、中国移动等,而诸如GoogleEarth、AutoDeskMaya、Opera、KDE、Skype这样的应用程序大家也都是耳熟能详的。
PyQt是Qt与Python的成功融合,或者也可以认为PyQt是Qt库的Python版本。PyQt初次发布于1998年,创始人是PhilThompson。PyQt的版本包括支持Qt1到Qt3的PyQt3,支持Qt4的PyQt4和现今支持Qt5的PyQt5。不过,由于Qt开发团队已经明确宣布自2015年年底后不再支持Qt4,所以对于PyQt的新手来说,最好能够直接从PyQt5开始学习。
本书是迄今为止最受公众认可PyQt编程学习用书之一。作者MarkSummerfield在Qt公司初创时期就任职与此,近年来也一直作为Qt和Python开发的知名代码贡献者,在两者中均拥有良好的经验。Mark在撰写本书的过程中,就不断跟踪Python和Qt的实时发展动态,因而无论是书中的例子和风格,还是课后习题的设置,始终秉承传授编程思想和原理方法为主、解决和分析技术难点为辅的写作风格,因而他所撰写的多部作品都获得了有软件业界“奥斯卡”之称的“震撼奖”(JoltAward)。本书与获奖作品《C++GUIQt4编程》一书的写作风格类似,案例设置通俗易懂,因而是学习PyQt不可多得的一本好书。
感谢电子工业出版社的冯小贝编辑。为了能够把握书中的关键技术和最新发展,不得不多方求证、字斟句酌,也形成了近似电影《疯狂动物城》中“闪电”先生的工作模式和工作效率,稿件一拖就是一年多的时间。不过,这一年多的时间中,我核对了书中的每一处链接,验证了它们的有效性;依据作者的勘误信息,订正并更新了本版图书中的相应错误内容,以确保文字的正确性和可读性。因此,无论使用的Qt4还是Qt5,无论是Python2.x还是最新的Python3.5.x,绝大部分的内容都可以运行无误。
我还要感谢参与本书翻译和审校工作的各位战友们,感谢你们的鼓励和支持。大家的工作分工是:西安交通大学的黄琳雅翻译了第10章、第12章和第13章,北京工商大学的张君施翻译了第8章、第9章、第15章和第17章,西南科技大学的王军锋翻译了第1章,西北农林科技大学的张雷锋翻译了附录B和附录C,浙江大学的薛一翻译了第11章,广东技术师范学院的刘溪翻译了第14章、第16章、第18章和19章,西北农林科技大学的闫锋欣翻译了本书第2章至第7章以及附录A、前言和致谢等剩余部分。我们还邀请了北京交通大学的王海波、武汉深之度科技有限公司的丁江锋、山东济南初创公司的王翔凯和徐景亮作为外部审稿人,他们的细致和耐心,为我们的工作增色不少。
感谢农业部现代农业装备重点实验室开放课题(项目编号:201603002)和中央高校基本科研业务费项目(项目编号:Z109021423)为译者提供了宽松且安心舒适的工作环境。
书中所用到的示例程序的源代码可从原书站点www.qtrac.eu(英文)下载,也可直接从站点www.qtcn.org/pyqtbook(中文)下载。有关本书的讨论和勘误信息,也会及时在www.qtcn.org网站公布,并在此向网站负责人XChinux表示感谢。
由于书中概念和术语数目繁多,加之译者水平所限,译稿中难免存在曲解或误解作者原意的地方,恳请读者谅解。
闫锋欣
2016年4月24日序
作为PyQt的创始人,非常高兴能够看到本书终于编写完成了。尽管是本书的技术审稿人之一,还是很高兴地要承认,自己的确从书中学到了不少东西。
PyQt文档中涵盖了PyQt中各个层次的全部API类。本书则用来讲述如何使用这些类,以及如何将这些类组合起来创建对话框、主窗口和各类应用程序(它们不仅看起来美观漂亮而且功用良好,没有任何不良缺陷),使得大家乐于使用这一编程语言。
我最喜欢这本书的地方在于,即使是用来说明简单知识点的样例都显得极不平凡,并能够以其正确的方式给出极富潜力的应用方法。这些不寻常的方法,将可馈赠那些打算把PyQt用于开发更大维度、更高品质应用程序的读者们。
我从事PyQt的故事可以追溯到20世纪90年代。当时我用过一段时间的Tcl/Tk,但觉得Tk应用程序看起来并不美观,尤其是当在第一版KDE中看到它运行时所做的那些事时,就打算要使用Python,于是我认为,是把语言的变化和GUI库的变化结合起来的时候了。
起初,使用了一些基于SWIG写成的封装类,但随后就说服了自己,应该自己做一套更适合的封装工具SWIG是一种简化脚本语言与C/C++接口的开发工具。简而言之,SWIG是一个通过包装和编译C语言程序来达到与脚本语言通信目的的工具——译者注。。工作就从创建SIP开始,并在1998年11月发布了支持Qt1.41的PyQt0.1版。开发工作自此开始不断正规起来,不仅与新发布的Qt保持一致,而且还在不断拓展PyQt的应用范围,例如,各类额外的支持工具和改良后的文档。到2000年时,PyQt2.0就已经可以在Linux和Windows上同时支持Qt2.2了。对于Qt3的支持始于2001年,而2002年就支持MacOSX了。PyQt4系列始于2006年6月的PyQt4.0,它可以支持Qt4。
我的基本目标是要让Python和Qt能够协同工作,这种工作方式要让Python编程人员觉得非常自然,同时允许他们能够以C++来做那些像在Python中一样可以想做的任何事。达到这一点的关键在于SIP的开发工作。这就给予了一个特殊的代码生成器,让我能够完全控制并确保Python和Qt是始终如一的。
开发和维护PyQt的必要步骤目前都已建立完毕。大多数工作现在都可自动完成,这就意味着,与Trolltech公司的Qt新版本保持同步已不再像从前那样显得是个问题,并可相信,PyQt在未来几年中会依旧向前发展Trolltech是挪威的一家公司,Qt最先源自该公司,先后被诺基亚和大奇(Digia)公司收购。国内一般将其称为奇趣科技公司——译者注。。
如今,非常欣慰于能够目睹PyQt社区在过去的数年中不断成长。如果此书能够把您引入PyQt的天地,那么欢迎您!
—PhilThompson
温伯恩,多赛特,英国前言
本书主要讲述如何利用Python程序语言和Qt应用程序开发框架来开发GUI应用程序。仅需要的一点必备知识是,要能够使用一些面向对象编程语言来编程,诸如C++、C#、Java,当然,也包括Python自己。在有关Rich文本的章节中,可能还会假定你了解了HTML和正则表达式的一些知识;而在数据库和多线程的那些章节中,也还会假定你已了解了相关话题的基本知识。至于GUI编程方面的知识就不需要了,因为书中会包含其相关的所有关键概念。
本书将对那些以专业编程为其工作的那些人大有帮助,无论是专业的软件开发人员,还是其他行业的编程人员,如家、工程师等,都需要通过编程来支撑自己的工作。本书也同样适用于那些大学生和研究生,他们在课题或者研究工作中上经常需要大量的计算要素。为帮助同学们理解书中讲授的内容,还特地提供了一些练习题(并给出了这些习题的解答思路)。
Python有可能是世界上广泛应用的最易学习、最漂亮的脚本语言了,而Qt则有可能是开发GUI应用程序最好的库。Python和Qt的结合,称为PyQt,使得在所有支持它们的平台,如Windows、Linux、MaxOSX和类UNIX系统的各个现有版本上,开发应用程序并且不做任何改变地运行程序成为可能。无须编译得益于Python这一解释性脚本语言,而针对不同操作系统都无须更改源代码的好处则源于Qt的抽象方式,能够避开那些与平台相关的细节。我们要做的仅仅就是将写好的一个或者多个源代码文件复制到安装了Python和PyQt的目标机器上运行即可。
如果对Python一无所知,那么欢迎您!您将会探索一门易读易写的语言,其语法简洁而不神秘。Python支持很多编程范式,但由于我们侧重于GUI编程,因而将会在除本书最前面的几章之外的各处均使用面向对象的编程方法。
Python是一种非常富有表现力的语言,这就意味着,要完成具有相当功能的应用程序,用Python编写的代码要比使用其他诸如C++或者Java等语言的代码少得多。这就使得通过文本来展示一些小而完整的样例成为可能,也使得PyQt成为能够快速并且简易开发GUI应用程序的一件理想工具,无论是用做原型设计还是用做最终的产品。
由于本书的重点是有关G
关于此书评价
暂无.
书摘内容
暂无.
Python Qt GUI快速编程:PyQt编程指南 [Rapid GUI Programming with Python and Qt: The Defi]最新最全的试读、书评、目录、简介信息由Python中文网整理提供。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试