2010-12-12 84 views
2

我是新的python编程和GUI。我在互联网上搜索关于GUI编程,并看到有很多方法可以做到这一点。我发现python中GUI最简单的方法可能是tkinter(它包含在Python中,它只是GUI库而不是GUI构建器)?我还阅读了很多关于GLADE + PyGTK(和XML格式)的知识,那里有什么特别的东西(glade是GUI构建器)?Python GUI(tkinter; pygtk + glade),py2exe

任何人都可以对这个选择做出一些“个人意见”吗?我有python代码,我需要做简单的图形用户界面(2按钮的打开关闭读写,和一些“打印”工作),然后使一些.exe文件(是否有最好的选择py2exe =?) 。代码制作GUI有很多变化吗?

非常感谢

回答

0

如果你的GUI真的很简单,你应该使用内置的tkinter。

有一个Hello, Tkinter教程,你可以关注,它非常简单。关于可执行文件的创建,在大多数情况下,py2exe应该没有问题(尽管我还没有尝试过tkinter)。创建可执行的另一种方式是一个特殊的参数添加到您的“setup.py”的文件:

setup(..., 
     entry_points = {"gui_scripts" : ['name-of-executable = name_of_package.launcher:main']}) 

这,例如,创建一个可以通过键入“名称的可执行”运行的可执行到终端(即使在Windows上,如果Python的“脚本”路径在PATH ^^中)。它在名为“name_of_package”的模块中运行“main”函数。这样,您就不必使用py2exe,但可以创建Windows安装程序或Debian软件包。

对于更复杂的项目,我绝对推荐使用PyGTKGlade作为界面设计器。它需要安装几个Python软件包,以及一个GTK +安装(在Windows上这并不总是那么简单)。 API非常棒,well-documented和Glade很容易使用,一旦你习惯了GTK的布局概念。但是我的观点有些偏颇,因为我在PyGTK中完成了多个项目。 wxWidgets或PyQT是很好的选择。例如,bazaar explorer是使用QT编写的。

+0

好的代码长约80行,我知道如何使用tkinter让例如简单的“hello world”的GUI,但是在我的代码中我有“读取输入.txt”文件,然后进行一些计算(huffman)和输出是在output.txt中写入,并显示一些结果。对我来说可能会有很多麻烦。 – thaking 2010-12-12 21:25:02

+0

@thaking:80行?这几乎没有。所有你需要的是把读/ calc的东西放在一个单独的函数中,然后可能创建一个带有[回调函数](http://effbot.org/tkinterbook/button.htm)的按钮,让用户选择一个输入文件。当然这取决于你的用例,但它应该相当简单。 – AndiDog 2010-12-12 21:39:53

0

我真的很喜欢用于Qt库的PyQt绑定。 What is PyQt?

Qt本身是一个非常好的框架 - 丰富,强大,优雅(至少对我来说)。 PyQt在向脚本环境公开该功能方面做得非常好。

另外,还有一本关于PyQt开发的书 - Rapid GUI Programming with Python and Qt - 通过它帮助了我很多。