我正在阅读本教程,它帮助我平行学习tkinter和wxWidgets,但我想深入挖掘,所以想知道哪个GUI工具更好地深入学习,为什么?
答案 0 :(得分:14)
不可能说哪个更“好”。两者都可用于最常见的用户界面任务。
如果我能以某种方式总结一句话,我很想说Tkinter的设计更好,更容易使用,但是wxPython功能更丰富,看起来更好一些。
tkinter专业人员:python的一部分,无需额外下载。非常简单的语法。文本小部件功能非常强大,非常易于使用。画布小部件也非常简单和强大。在我的经验中,没有其他工具包能够提供与这两个小部件相同的易用性和强大功能。在mac和windows上使用本机小部件。 Tk坚如磐石,几乎没有跨平台的特质。我认为Tkinter的绑定机制远远优于wxPython;它更灵活,更一致。我认为Tkinter的三个几何管理器 - 包,地点和网格 - 比wxPython sizer更强大,更易于使用。
tkinter cons:在* nix框上使用类似主题的小部件,许多人都发现这些小部件(虽然一些仔细的调整可以使GUI看起来完全可以接受)。有时难以调试,因为Tkinter的核心部件不是python对象; tkinter提供了一个围绕实际tk小部件的包装器,这有时意味着你会得到奇怪的错误消息。打印支持非常少(您可以从画布生成postscript文档,但文本小部件中没有内置支持可供打印)。有些人声称Tk很难看。 Tkinter并不像wxPython那样“pythonic”。
wxpython专业人员:它有更多的小部件,但通常意味着有三种类型的笔记本小部件而不是一个厨房水槽小部件。 wxPython小部件是第一类python对象,非常好。 wxPython在* nix机器上通常看起来更好。 wxPython似乎更受欢迎;有些人关心这一点,有些则不关心。 wxPython比Tkinter有更好的打印支持。
wxPython缺点:wxPython需要单独下载,在部署应用时可能会很难管理。我认为文档很薄弱;找到具体信息非常困难。 “wPython in Action”一书提供了很好的介绍,但不能作为参考书依赖。 wxPython是一个有点错误的IMO,并且存在明确的跨平台问题。我已经看到wxPython崩溃和打印断言的方式比Tkinter更频繁。
答案 1 :(得分:1)
如果您是新手,并希望选择一款,我强烈推荐tkinter,因为它简单而有效。 wxPython可以等到你对python非常了解,特别是类和GUI。