第16章 接下来学习什么?
目录表
- 图形软件
- GUI工具概括
- 探索更多内容
- 概括
如果你已经完全读完了这本书并且也实践着编写了很多程序,那么你一定已经能够非常熟练自如地使用Python了。你可能也已经编写了一些Python程序来尝试练习各种Python技能和特性。如果你还没有那样做的话,那么你一定要快点去实践。现在的问题是“接下来学习什么?”。
我会建议你先解决这样一个问题:创建你自己的命令行 地址簿 程序。在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。
思考一下我们到目前为止所学的各种东西的话,你会觉得这个问题其实相当简单。如果你仍然希望知道该从何处入手的话,那么这里也有一个提示。
提示(其实你不应该阅读这个提示) 创建一个类来表示一个人的信息。使用字典储存每个人的对象,把他们的名字作为键。使用cPickle模块永久地把这些对象储存在你的硬盘上。使用字典内建的方法添加、删除和修改人员信息。
一旦你完成了这个程序,你就可以说是一个Python程序员了。现在,请立即寄一封信给我感谢我为你提供了这本优秀的教材吧。是否告知我,如你所愿,但是我确实希望你能够告诉我。
这里有一些继续你的Python之路的方法:
使用Python的GUI库——你需要使用这些库来用Python语言创建你自己的图形程序。使用GUI库和它们的Python绑定,你可以创建你自己的IrfanView、Kuickshow软件或者任何别的类似的东西。绑定让你能够使用Python语言编写程序,而使用的库本身是用C、C++或者别的语言编写的。
有许多可供选择的使用Python的GUI:
PyQt 这是Qt工具包的Python绑定。Qt工具包是构建KDE的基石。Qt,特别是配合Qt Designer和出色的Qt文档之后,它极其易用并且功能非常强大。你可以在Linux下免费使用它,但是如果你在Windows下使用它需要付费。使用PyQt,你可以在Linux/Unix上开发免费的(GPL约定的)软件,而开发具产权的软件则需要付费。一个很好的PyQt资源是《使用Python语言的GUI编程:Qt版》请查阅官方主页以获取更多详情。
PyGTK 这是GTK+工具包的Python绑定。GTK+工具包是构建GNOME的基石。GTK+在使用上有很多怪癖的地方,不过一旦你习惯了,你可以非常快速地开发GUI应用程序。Glade图形界面设计器是必不可少的,而文档还有待改善。GTK+在Linux上工作得很好,而它的Windows接口还不完整。你可以使用GTK+开发免费和具有产权的软件。请查阅官方主页以获取更多详情。
wxPython 这是wxWidgets工具包的Python绑定。wxPython有与它相关的学习方法。它的可移植性极佳,可以在Linux、Windows、Mac甚至嵌入式平台上运行。有很多wxPython的IDE,其中包括GUI设计器以及如SPE(Santi's Python Editor)和wxGlade那样的GUI开发器。你可以使用wxPython开发免费和具有产权的软件。请查阅官方主页以获取更多详情。
TkInter 这是现存最老的GUI工具包之一。如果你使用过IDLE,它就是一个TkInter程序。在PythonWare.org上的TkInter文档是十分透彻的。TkInter具备可移植性,可以在Linux/Unix和Windows下工作。重要的是,TkInter是标准Python发行版的一部分。
要获取更多选择,请参阅Python.org上的GUI编程wiki页。
不幸的是,并没有单一的标准Python GUI工具。我建议你根据你的情况在上述工具中选择一个。首要考虑的因素是你是否愿意为GUI工具付费。其次考虑的是你是想让你的程序运行在Linux下、Windows下还是两者都要。第三个考虑因素根据你是Linux下的KDE用户还是GNOME用户而定。
未来的章节 我打算为本书编写一或两个关于GUI编程的章节。我可能会选择wxPython作为工具包。如果你想要表达你对这个主题的意见,请加入byte-of-python邮件列表。在这个邮件列表中,读者会与我讨论如何改进本书。