Size: 4631
Comment:
|
Size: 2446
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from Hairui/wxPythonInAction | |
Line 7: | Line 8: |
attachment:cover.jpg == 项目说明 == * 本书英文版版权由原作者所有,前言及本书内容介绍两章由[:hairui:Hairui]翻译,其他章节由ZZJ翻译完成,经Hairui整理成wiki。 * 中文译文为译者学习笔记性质,但非经译者允许请勿转载及摘录用作商业盈利目的。 * 经网友介绍,在[http://www.pythontik.com]找到了由zzj翻译的稿件,经征得同意,转载于此,作为日后学习提高的基础。 |
|
Line 8: | Line 14: |
[[TableOfContents]] == 前言 == 关于 Harri Pasanen 和 Robin Dunn 以及wxPython的传奇故事确切的开始时间是1995年。本书的合著者之一,Robin 写下了下面这段关于 wxPython 的文字,而我们决定让故事由参与者自己来讲述,而不是籍由旁人加以引述: 1995年,我所进行的一个项目需要在HP-UX系统上部署一个图形用户界面,但我的老板却同时希望在几周后的一个内部展示会上通过Windows3.1掌上电脑来进行一些演示。因此,我开始搜寻跨平台的C++ GUI开发包来进行原型开发。在那个时候,因为没有Google,要完成这样的工作实非易事。但我还是发现了一些商业化的可选开发包(今天已经无一幸存)和大量的免费开发包。 当我正在评估分析哪个免费开发包符合当前的紧急需求,并决定哪个商业产品能够满足我们的长期需求时,我偶然看到了 wxWidgets 网站的术语“Python绑定”(这里“绑定”一词指Python语言和wxWidgets开发包之间的联系。)由于对如何将软件开发包“绑定”到爬虫动物(在此之前,我从来没有听说过Python语言)充满好奇,我顺着这个链接一个个的点击,直到看到“Python 1.2 入门文档”。三个小时后,我从当地的C++倡导者变成了Python的传播者,不断叨扰周边的开发者,向他们展示我的最新发现。 我开始和芬兰的Harri Pasanen一起致力于推进Python和wxWidgets的绑定(在Edward Zimmerman的协助下,最终形成了众所周知的wxPython 0.2),而不是继续我的原型开发。发行声明的邮件列表归档于:[http://www.google.com/groups?selm=PA.95Jul27032244%40ok.tekla.fi&oe=UTF-8] 我们使它的功能强大到多足以让我能够用Python为老板建造一个原型。但是wxPython的维护和改进工作却是一个噩梦,因为每个事情(包括C++扩展模块代码、Python代理模块、编译系统等等)都是手工完成的,wxWidget的一点点改进都会导致要修改多处wxPython代码,以确保wxPython得到改进或修订。当代码增加上几万行时,这种工作方式变得非常笨拙和琐碎。另一个客观事实是:缺乏一个中心源代码库(那是SourceForge出现之前的时代),因此我们不得不通过电子邮件互相发送代码更新,你可以想象得到这其中的难度。 大约在此时,我不得不“真正”开始主项目的开发了。在我的控制下,一些项目开发者们一起进行设计会晤、设定开发期限,从眼中的灵光一现开始完成一个完整的项目开发。我发现自己又完全回到了C++世界,尽管我可以用Python来进行一些编译及项目的测试脚本。Harri 也无法在上面投入任何时间了,因此wxPython的开发变得比“爬行”还慢了,有时甚至进入了停滞状态。 1997年,我发现了SWIG(简单封装和接口产生器),并意识到它可以帮助我们解决wxPython项目中困扰我们已久的所有维护问题。通过三、四周的业余时间里,通过使用SWIG,我几乎将wxPython的全部重新实现了一遍,而在此前用手工完成这项工作耗用了我几周的完整时间以及Harri几个月的部分时间。在转向其他项目一段时间后,我发现wxWidgets 2.0正在积极开发中,而且有了一个全新的架构,因此我不得不重新完成这项工作。但这次,新的架构简化了大量的工作,我仅用了一周的业余时间就完成了!因此,在1998年夏天,第一个“现代版本”的wxPython顺利发布,并从此一直处于活跃开发状态。第一份声明归档与此: (http://groups.yahoo.com/group/python-announce-list/message/95). 正如他们所说的,剩下的部分就是传奇故事了。 必须特别说明的是:SWIG 使得我能够轻松创建和维护成千上百行的代码,因此wxPython的多种功能特性必须感谢 David Beazley 以及其他项目参与者对SWIG的贡献。通过此书,我们希望能够与您分享对于wxPython的热情,在轻松开发图形用户界面应用程序方面,它是真正的独一无二的开发包。我们写作的初衷是不但为初学者,也为专业人员建造一项有用的资源。 [:WoodpeckerAclDefine/WikiAdminGroup:WikiAdminGroup]维护,其它用户只读,未登录用户不可见 |
== 内容索引 == * [:WxPythonInAction/Preface:前言] * [:WxPythonInAction/AcknowLedgments:致谢] * [:WxPythonInAction/AboutTheBooks:关于本书] * [:WxPythonInAction/PartOne:第一部分] * [:WxPythonInAction/ChapterOne:第一章 欢迎使用wxPython] * [:WxPythonInAction/ChapterTwo:第二章 给wxPython程序一个坚实的基础] * [:WxPythonInAction/ChapterThree:第三章 在事件驱动环境中开发] * [:WxPythonInAction/ChapterFour:第四章 用PyCrust使得wxPython更易处理] * [:WxPythonInAction/ChapterFive:第五章 绘制蓝图] * [:WxPythonInAction/ChapterSix:第六章 使用wxPython基本构件] * [:WxPythonInAction/PartTwo:第二部分 基础wxPython] * [:WxPythonInAction/ChapterSeven:第七章 使用基础控件] * [:WxPythonInAction/ChapterEight:第八章 将构件放入窗体中] * [:WxPythonInAction/ChapterNine:第九章 通过对话框让用户选择] * [:WxPythonInAction/ChapterTen:第十章 创建和使用wxPython菜单] * [:WxPythonInAction/ChapterEleven:第十一章 使用sizer放置构件] * [:WxPythonInAction/ChapterTwelve:第十二章 操作基本图像] * [:WxPythonInAction/PartThree:第三部分 高级wxPython] * [:WxPythonInAction/ChapterThirteen:第十三章 建造列表控件并管理列表项] * [:WxPythonInAction/ChapterFourteen:第十四章] * [:WxPythonInAction/ChapterFifteen:第十五章] * [:WxPythonInAction/ChapterSixteen:第十六章] * [:WxPythonInAction/ChapterSeventeen:第十七章] * [:WxPythonInAction/ChapterEighteen:第十八章] == 项目日志 == * 2007年10月3日,Hairui从[http://www.pythontik.com]处下载了由zjj完成的多数章节翻译稿,并整理了1-12章的部分WiKi格式。 |
活学活用wxPython
attachment:cover.jpg
项目说明
- 本书英文版版权由原作者所有,前言及本书内容介绍两章由[:hairui:Hairui]翻译,其他章节由ZZJ翻译完成,经Hairui整理成wiki。
- 中文译文为译者学习笔记性质,但非经译者允许请勿转载及摘录用作商业盈利目的。
经网友介绍,在[http://www.pythontik.com]找到了由zzj翻译的稿件,经征得同意,转载于此,作为日后学习提高的基础。
内容索引
- [:WxPythonInAction/Preface:前言]
[:WxPythonInAction/AboutTheBooks:关于本书]
[:WxPythonInAction/PartOne:第一部分]
[:WxPythonInAction/ChapterOne:第一章 欢迎使用wxPython]
[:WxPythonInAction/ChapterTwo:第二章 给wxPython程序一个坚实的基础]
[:WxPythonInAction/ChapterThree:第三章 在事件驱动环境中开发]
[:WxPythonInAction/ChapterFour:第四章 用PyCrust使得wxPython更易处理]
[:WxPythonInAction/ChapterFive:第五章 绘制蓝图]
[:WxPythonInAction/ChapterSix:第六章 使用wxPython基本构件]
[:WxPythonInAction/PartTwo:第二部分 基础wxPython]
[:WxPythonInAction/ChapterSeven:第七章 使用基础控件]
[:WxPythonInAction/ChapterEight:第八章 将构件放入窗体中]
[:WxPythonInAction/ChapterNine:第九章 通过对话框让用户选择]
[:WxPythonInAction/ChapterTen:第十章 创建和使用wxPython菜单]
[:WxPythonInAction/ChapterEleven:第十一章 使用sizer放置构件]
[:WxPythonInAction/ChapterTwelve:第十二章 操作基本图像]
[:WxPythonInAction/PartThree:第三部分 高级wxPython]
[:WxPythonInAction/ChapterThirteen:第十三章 建造列表控件并管理列表项]
[:WxPythonInAction/ChapterFourteen:第十四章]
[:WxPythonInAction/ChapterFifteen:第十五章]
[:WxPythonInAction/ChapterSixteen:第十六章]
[:WxPythonInAction/ChapterEighteen:第十八章]
项目日志
2007年10月3日,Hairui从[http://www.pythontik.com]处下载了由zjj完成的多数章节翻译稿,并整理了1-12章的部分WiKi格式。