1. 首页
  2. 编程语言
  3. Python
  4. PYTHONQTGUI快速编程PYQT编程指南.pdf

PYTHONQTGUI快速编程PYQT编程指南.pdf

上传者: 2019-04-29 00:43:43上传 PDF文件 99.3MB 热度 38次
本书主要讲述如何利用Python和QT开噶GUI应用程序的原理、方法和关键技术。本书共分为四个部分:第一部分件数Python基础知识,第二部分通过三个例子给出PyQt GUI应用程序的初步印象,第三部分深入件数窗口布局、事件处理、窗口部件子类、QT图形架构和QT的的模型/视图等内容。第四部分介绍国际化、网络化和多线程化等内容。内容简介本书主要讲述如何利用 Python和Qt开发GUI应用程序的原理、方法和关键技术。本书共分四个部分:第一部分主要讲述 Python基础知识,第二部分通过三个例子给出 PyQt GUI应用程序的初步印象,第三部分深人讲述窗口部件布局、事件处理、窗口部件子类化、Qt图形架构和α的模型/视图等内容,第四部分介绍国际化、网络化和多线程化等内容。本书结构合理,内容翔实,适合于对 Python、t和Py¢t编程感兴趣的科教人员和广大的计算机编程爱好者阅读,也可作为相关机构的培训教材。Authorized translation from the English language edition, entitled Rapid GUl Programming with Python and Qt: TheDefinitive Guide to Py ot Programming, 9780132354189 by Mark Summerfield, published by Pearson Education, IncCopyright(c 2008 Pearson Education IncAll rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic ormechanical, including photocopying, recording or by any information storage retrieval system, without permission fromPearson Education. IncCHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD, and PUBLISHINGHOUSE OF ELECTRONICS INDUSTRY Copyright 2016本书中文简体字版专有出版权由 Pearson education(培生教育出版集团)授予电子工业出版社。未经出版者预先书面许可,不得以任何方式复制或抄袭本书的任何部分。本书贴有 Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。版权贸易合同登记号图字:01-2015-1609图书在版编目(C|P)数据Python Qt GUl快速编程:Pyt编程指南/(英)马克·萨默菲尔德( Mark summerfield)著;闫锋欣等译北京:电子工业出版社,2016.9书名原文: Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt ProgrammingISBN978-7-121-298066I.①P…Ⅱ.①马…②闫…Ⅲ.①软件工具-程序设计-指南ⅣV.①TP311.561-62中国版本图书馆CP数据核字(2016)第203337号策划编辑:冯小贝责任编辑:李秦华印刷:三河市华成印务有限公司装订:三河市华成印务有限公司出版发行:电子工业出版社北京市海淀区万寿路173信箱邮编100036开本:787×10921/16印张:28.75字数:811千字版次:2016年9月第1版印次:2016年9月第1次印刷定价:79.00元凡所购买电子工业出版社图书有缺损冋题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,8825888质量投诉请发邮件至zlts@phei.com.cn,盜版侵权举报请发邮件至dboq@phei.com.cn本书咨询联系方式:fengxiaobei@phei.com.cn译者序Python是一种面向对象、解释型程序设计语言,由 Guido van rossun于1989年发明并于1991年发布第一个公开发行版。 Python简洁而清晰的语法,丰富而强大的库,使其能够将其他语言编写代码模块(尤其是CC++)轻松联结在一起,从而在不影响程序性能的前提下,大大降低整个应用程序的开发成本和资源占用。 Python自2004年以来,已成为全球最受欢迎的程序设计语言之一,用户数呈线性激增,被 TIOBE计算机编程语言排行榜评为2010年的年度语言。 Python语言在卡耐基·梅隆大学、麻省理工学院、清华大学等国内外高校和科研机构的用户众多,也进而推动了 Python的快速发展。Qt是一个性能卓越的跨平台C++图形用户界面应用程序开发框架。自1991年由奇趣科技( Trolltech)推出至今的25年间,深受业界赞誉,并先后于2008年、2012年被诺基亚( Nokia)和大奇( Digia)收购,实现了由单一的桌面计算机和嵌入式应用领域到全T行业的转变。2014年4月,Qt开发团队正式发布跨平台的集成开发环境 Qt Creator3.1.0,实现了对i0s的完全支持,新增了 WinRT、 Beautifier等插件,集成了基于 Clang的C/C++代码模块,调整了对Android的支持,实现了i0S、 Android、WP的全面支持。目前,Qt的用户已经涵盖了全球众多知名厂商,如 Google、 Adobe、IBM、华为、中国移动等,而诸如 Google Earth、 AutoDesk Maya、pera、KDE、 Skype这样的应用程序大家也都是耳熟能详的。PyQt是Qt与 Python的成功融合,或者也可以认为PyQt是Qt库的 Python版本。PyQt初次发布于1998年,创始人是 Phil Thompson. Py Qt的版本包括支持Qt1到Qt3的PyQ3,支持Qt4的PyQ4和现今支持Qt5的PyQ5。不过,由于Qt开发团队已经明确宣布自2015年年底后不再支持Qt4,所以对于PyQt的新手来说,最好能够直接从PyQ5开始学习。本书是迄今为止最受公众认可的PyQt编程学习用书之一。作者 Mark summerfield在Qt公司初创时期就任职于此,近年来也一直作为Qt和 Python开发的知名代码贡献者,在两者中均拥有良好的经验。Mark在撰写本书的过程中,就不断跟踪 Python和Qt的实时发展动态,因而无论是书中的例子和风格,还是课后习题的设置,始终秉承传授编程思想和原理方法为主、解决和分析技术难点为辅的写作风格,因而他所撰写的多部作品都获得了有软件业界“奥斯卡”之称的“震撼奖”( Jolt award)。本书与获奖作品《C++ GUI Qt4编程》一书的写作风格类似,案例设置通俗易懂,因而是学习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)为译者提供了宽松且安心舒适的工作环境。书中所用到的示例程序的源代码可从原书站点ww. atrac.eu(英文)下载,也可直接从站点w.qtcn.org/ pothook(中文)下载。有关本书的讨论和勘误信息,也会及时在www.gtcn.org网站公布,并在此向网站负责人XChinux表示感谢由于书中概念和术语数目繁多,加之译者水平所限,译稿中难免存在曲解或误解作者原意的地方,恳请读者谅解。闫锋欣2016年4月24日序作为Pyt的创始人,非常高兴能够看到本书终于编写完成了。尽管是本书的技术审稿人之一,还是很高兴地要承认,自己的确从书中学到了不少东西。PyQt文档中涵盖了PyQt中各个层次的全部API类。本书则用来讲述如何使用这些类,以及如何将这些类组合起来创建对话框、主窗口和各类应用程序(它们不仅看起来美观漂亮而且功用良好,没有任何不良缺陷),使得大家乐于使用这一编程语言。我最喜欢这本书的地方在于,即使是用来说明简单知识点的样例都显得极不平凡,并能够以其正确的方式给出极富潜力的应用方法。这些不寻常的方法,将可馈赠那些打算把PyQt用于开发更大维度、更高品质应用程序的读者们。我从事PyQt的故事可以追溯到20世纪90年代。当时我用过一段时间的Tcl/Tk,但觉得Ik应用程序看起来并不美观,尤其是当在第一版KDE中看到它运行时所做的那些事时,就打算要使用 Python,于是我认为,是把语言的变化和GUI库的变化结合起来的时候了。起初,使用了一些基于SWIG写成的封装类,但随后就说服了自己,应该自己做一套更适合的封装工具①。工作就从创建SP开始,并在1998年11月发布了支持Qt1.41的PyQt0.1版。开发工作自此开始不断正规起来,不仅与新发布的Qt保持一致,而且还在不断拓展PyQt的应用范围,例如,各类额外的支持工具和改良后的文档。到2000年时,PyQt2.0就已经可以在 Linux和 Windows上同时支持Qt2.2了。对于Qt3的支持始于2001年,而2002年就支持Mac os x了。PyQ4系列始于2006年6月的PyQt4.0,它可以支持Qt4。我的基本目标是要让 Python和Qt能够协同工作,这种工作方式要让 Python编程人员觉得非常自然,同时允许他们能够以C++来做那些像在 Python中一样可以想做的任何事。达到这一点的关键在于SP的开发工作。这就给予了一个特殊的代码生成器,让我能够完全控制并确保 Python和Qt是始终如一的。开发和维护PyQt的必要步骤目前都已建立完毕。大多数工作现在都可自动完成,这就意味着,与 Trolltech公司的t新版本保持同步已不再像从前那样显得是个问题,并可相信,PyQt在未来几年中会依旧向前发展2。如今,非常欣慰于能够目睹PyQt社区在过去的数年中不断成长。如果此书能够把您引入PyQt的天地,那么欢迎您!Phil Thompson温伯恩,多赛特,英国①SWIG是一种简化脚本语言与C/C++接口的开发工具。简而言之,SWG是一个通过包装和编译C语言程序来达到与脚本语言通信目的的工具——译者注。② Trolltech是挪威的一家公司,Ot最先源自该公司,先后被诺基亚和大奇(Dga)公司收购。国内一般将其称为奇趣科技公司—译者注。前言本书主要讲述如何利用 Python程序语言和Q应用程序开发框架来开发GU应用程序。仅需要的一点必备知识是,要能够使用一些面向对象编程语言来编程,诸如C++、C#、Java,当然,也包括 Python自己。在有关Rch文本的章节中,可能还会假定你了解了HTML和正则表达式的一些知识;而在数据库和多线程的那些章节中,也还会假定你已了解了相关话题的基本知识。至于GUI编程方面的知识就不需要了,因为书中会包含其相关的所有关键概念。本书将对那些以专业编程为其工作的那些人大有帮助,无论是专业的软件开发人员,还是其他行业的编程人员,如科学家、工程师等,都需要通过编程来支撑自己的工作。本书也同样适用于那些大学生和研究生,他们在课题或者研究工作中上经常需要大量的计算要素。为帮助同学们理解书中讲授的内容,还特地提供了一些练习题(并给出了这些习题的解答思路)。Python有可能是世界上广泛应用的最易学习、最漂亮的脚本语言了,而Ot则有可能是开发GUI应用程序最好的库。 Python和Qt的结合,称为PyQt,使得在所有支持它们的平台,如Windows、 Linux、 Max os x和类UNX系统的各个现有版本上,开发应用程序并且不做任何改变地运行程序成为可能。无须编译得益于 Python这一解释性脚本语言,而针对不同操作系统都无须更改源代码的好处则源于αt的抽象方式,能够避开那些与平台相关的细节。我们要做的仅仅就是将写好的一个或者多个源代码文件复制到安装了 Python和PyQt的目标机器上运行即可。如果对 Python一无所知,那么欢迎您!您将会探索一门易读易写的语言,其语法简洁而不神秘。 Python支持很多编程范式,但由于我们侧重于GUI编程,因而将会在除本书最前面的几章之外的各处均使用面向对象的编程方法。Python是一种非常富有表现力的语言,这就意味着,要完成具有相当功能的应用程序,用Python编写的代码要比使用其他诸如C++或者Java等语言的代码少得多。这就使得通过文本来展示一些小而完整的样例成为可能,也使得PyQt成为能够快速并且简易开发GUI应用程序的一件理想工具,无论是用做原型设计还是用做最终的产品由于本书的重点是有关GUI编程的,第一部分会像其他PyQt文献一样也给出一个 Python快速入门教程。在本书的第二部分、第三部分和第四部分,都与PyQt相关并会假定读者已经可以用 Python编程,无论是前期的经验,还是从第一部分中阅读而来的。在编程时,当有数种可能采用的可行方法时就会经常遇到决策点( decision point)。参阅书籍和网上文献来识别出可用的那些类、方法和函数,还可以参考某些情况下所给出的示例,但那样的文献很少会给出一个上下文背景( broader context)。本书则会给出必要的上下文背景,强调那些用于GuI编程的决策点,深入解析器优劣,以便让读者自行决断特定情况下的正确策略。例如,在创建对话框的时候,应该是使用模态( modal)对话框还是非模态( modeless对话框(请参阅第5章中有关这一主题的解释说明和推荐策略中的内容)。PyQt可用于编写各类GUI应用程序,从会计类应用程序到被科学家和工程师所使用的各种可视化工具。例如,在图1中,给出了一个示例Eric4,这是一个使用PyQt编写的强大集成开发环境。编写一个仅有10行代码长短的PyQt应用程序,或者也有可能是编写一个拥有61000~10000行PyQt代码的中型工程,都已司空见惯。某些商业公司利用从一个人到数十人不等的编程团队,已经构建出超过100000行代码的PyQt应用程序。许多公司内部使用的工具就是用Pyt编写的,但由于这些工具通常是直接用于获利的,相关公司一般不会将自己使用PyQt的事情公之于众。PyQ也会广泛用于开源世界,包括游戏、应用设施、可视化工具和各类集成开发环境(DE)等都会用到它。/home/mark/books/rapid-gui-programming-with-python-and-gtegchaps/mymovies, pyw-Eric4 -DFFile Edit View Start Debug Unittest Project Refactoring Extras Settings Window Bookmarks Help0日日日的回~4b8着中addeditmoviedig pymoviedata pymovies. pywDebug-VlewercLass Hainwindow(OMainwindow ):def init (self, parent=None)mymovies.pyw: 24: initSourcesuper(Mainwindow, self). init (parent)LocalsVaself, movies moviedata, MovieContainer()parentself. table QTablewidget()main MainVself. setcentralwidget(self table)日 moves
用户评论
码姐姐匿名网友 2019-04-29 00:43:43

怎么打不开,才9.3kb

码姐姐匿名网友 2019-04-29 00:43:43

下来看看怎么样

码姐姐匿名网友 2019-04-29 00:43:43

便宜一点。。。

码姐姐匿名网友 2019-04-29 00:43:43

这个便宜。