如今的Python GUI开发怎么样(2010年9月)?
我上次看到的时候,Python的图形用户界面(GUI)看起来非常难看,今天情况怎么样呢?
(我在谷歌图片上看到了一些漂亮的图像,但我不知道那些是不是用Python做的)
4 个回答
我觉得最新的Tkinter版本在Mac上看起来很原生。WxPython和QT在Mac、Windows和Linux上都能呈现原生的界面。GTK在Mac上看起来有点丑,而且因为X11的实现,容易崩溃。
当然,你也可以自己做一个图形界面,我现在正在用pygame尝试这样做。让我澄清一下,我不是在做一个图形界面库,而是为我自己的应用程序做图形界面。我是在3D软件Blender里制作图形。
我觉得通用图形界面最好用的是wxPython,我试过,效果很好,使用起来也很简单,跨平台运行得很顺利。你还会找到很多关于它的信息。它和opengl结合得很好,所以如果你想做一些复杂的图形界面,它也能做到。
Tk 仍然是 Python 的默认图形用户界面工具包,但从 Python 2.7 和 3.1 开始,它支持主题功能,所以现在看起来不再那么丑了。
不过,你可以选择一些更好看的替代品(我觉得)并且功能更多:
- wxPython:可能是使用最广泛的工具,跨平台,应用程序看起来和本地应用一样。
- PyQt 或即将推出的 PySide:这是为诺基亚的 Qt 开源框架提供的绑定,不仅仅是一个图形用户界面工具包。
- PyGTK:这是为 GTK+ 库提供的绑定。
Python 2.7 和 3.0 自带了主题化的 tk(“ttk”)控件,这些控件看起来比之前版本的 Tk 好看多了。老实说,任何有能力的 GUI 开发者都能把旧版 Tk 也做得不错。不要让那些对 Tk 了解不多的人影响你使用它的决心,它仍然是一个非常实用的工具包,适合很多任务。虽然你用它可能无法做出一个 Photoshop 的克隆版,但实际上又有多少人会去写那种应用呢?
我过去一年一直在使用 wxPython,但对于大多数任务,我还是更喜欢 Tkinter。Tkinter 更简单,在很多方面也更强大。wxWidgets 唯一的优势就是它有更多内置的控件,但我发现其中很多控件有点小问题,使用起来也不太方便。对于大多数人会写的应用来说,Tkinter 仍然是个很不错的选择。
这里有一些主题控件的截图:
http://code.google.com/p/python-ttk/wiki/Screenshots
这是一个使用主题控件的 Tkinter 应用在 Mac 上的截图: