ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 第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版》](http://www.opendocs.org/pyqt/)请查阅[官方主页](http://www.riverbankcomputing.co.uk/pyqt/index.php)以获取更多详情。 * **PyGTK** 这是GTK+工具包的Python绑定。GTK+工具包是构建GNOME的基石。GTK+在使用上有很多怪癖的地方,不过一旦你习惯了,你可以非常快速地开发GUI应用程序。Glade图形界面设计器是必不可少的,而文档还有待改善。GTK+在Linux上工作得很好,而它的Windows接口还不完整。你可以使用GTK+开发免费和具有产权的软件。请查阅[官方主页](http://www.pygtk.org/)以获取更多详情。 * **wxPython** 这是wxWidgets工具包的Python绑定。wxPython有与它相关的学习方法。它的可移植性极佳,可以在Linux、Windows、Mac甚至嵌入式平台上运行。有很多wxPython的IDE,其中包括GUI设计器以及如[SPE(Santi's Python Editor)](http://spe.pycs.net)和[wxGlade](http://wxglade.sourceforge.net)那样的GUI开发器。你可以使用wxPython开发免费和具有产权的软件。请查阅[官方主页](http://www.wxpython.org/)以获取更多详情。 * **TkInter** 这是现存最老的GUI工具包之一。如果你使用过IDLE,它就是一个TkInter程序。在[PythonWare.org](http://www.pythonware.com/library/tkinter/introduction/index.htm)上的TkInter文档是十分透彻的。TkInter具备可移植性,可以在Linux/Unix和Windows下工作。重要的是,TkInter是标准Python发行版的一部分。 * 要获取更多选择,请参阅[Python.org上的GUI编程wiki页](http://www.python.org/cgi-bin/moinmoin/GuiProgramming)。 不幸的是,并没有单一的标准Python GUI工具。我建议你根据你的情况在上述工具中选择一个。首要考虑的因素是你是否愿意为GUI工具付费。其次考虑的是你是想让你的程序运行在Linux下、Windows下还是两者都要。第三个考虑因素根据你是Linux下的KDE用户还是GNOME用户而定。 未来的章节 我打算为本书编写一或两个关于GUI编程的章节。我可能会选择wxPython作为工具包。如果你想要表达你对这个主题的意见,请加入[byte-of-python邮件列表](http://lists.ibiblio.org/mailman/listinfo/byte-of-python)。在这个邮件列表中,读者会与我讨论如何改进本书。