2010-03-10 94 views
6

我正在阅读本教程,它正在帮助我学习tkinter和wxWidgets并行,但我想深入挖掘,所以想知道哪个GUI工具更适合深入学习,为什么?tkinter和wxWidgets的利弊?

+0

我从来没有使用过tkinter,但我用wxWidgets编写了一个简单的终端通信GUI,可以在Microsoft Windows和Linux/GTK中工作 - 对结果非常满意。 – 2010-03-10 10:44:31

回答

14

不可能说哪个“更好”。可以用于最常见的用户界面任务。

如果我能以某种方式总结一句话,我会试图说Tkinter设计得更好,使用起来更容易一些,但wxPython功能更丰富,看起来更好看一些。

tkinter优点:python的一部分,没有额外的下载。非常简单的语法。文本小部件功能非常强大,非常易于使用。画布小部件也非常容易和强大。没有其他工具包提供了与我的经验中的那两个小部件相同的轻松和功能组合。在Mac和Windows上使用本机窗口小部件。 Tk坚如磐石,缺乏跨平台的特质。我认为Tkinter的绑定机制远远优于wxPython的;它更加灵活和一致。我认为Tkinter的三个几何管理器 - pack,place和grid - 比wxPython sizer更加强大和易于使用。

Tkinter的缺点:使用* nix上盒许多发现离puting序状部件(尽管一些细致的调整可以使图形用户界面看起来完全可以接受的)。有时很难调试,在他们的核心Tkinter小部件不是python对象; tkinter提供了一个实际的tk小部件的包装,这有时意味着你会得到奇怪的错误信息。几乎没有打印支持(您可以从画布生成postscript文档,但在文本小工具中没有内置的支持来打印)。有些人声称Tk很丑。 Tkinter不像wxPython那样“pythonic”。

wxpython专业人员:它有更多的小部件,但通常意味着有三种类型的笔记本小部件,而不是一个厨房水槽小部件。 wxPython小部件是第一类python对象,非常好。 wxPython在* nix机器上通常看起来更好。 wxPython似乎更受欢迎;有些人关心,有些人不关心。 wxPython比Tkinter有更好的打印支持。

wxPython缺点:wxPython需要单独下载,这在您部署应用程序时可能很难管理。我认为文件非常薄弱;很难找到具体的信息。 “wPython in Action”一书提供了一个很好的介绍,但不能作为参考书。 wxPython是一个有点bug的IMO,并且有确定的跨平台问题。我已经看到wxPython崩溃和打印断言的方式比Tkinter更频繁。

+0

嘿,Bryan Python专家!请看看http://stackoverflow.com/questions/23022005/python-tkinter-tree-selection – 2014-04-14 20:33:23

1

如果您是新手,希望选择其中之一,我强烈建议tkinter因其简单和有效。 wxPython可以等到你对Python有很好的理解,特别是类和GUI。