tkinter - tkinter 和 wxWidgets 的优缺点?

标签 tkinter

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

最佳答案

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

如果我能用一句话来概括的话,我会很想说 Tkinter 设计得更好,更容易使用,但是 wxPython 功能更丰富,看起来更好一点。

tkinter 专业人士 :python 的一部分,无需额外下载。非常简单的语法。文本小部件非常强大且非常易于使用。 Canvas 小部件也非常简单和强大。在我的经验中,没有其他工具包比这两个小部件提供相同的易用性和功能组合。在 mac 和 windows 上使用 native 小部件。 Tk 坚如磐石,几乎没有跨平台特性。我认为 Tkinter 的绑定(bind)机制远远优于 wxPython 的;它更加灵活和一致。我认为 Tkinter 的三个几何管理器 - pack、place 和 grid - 比 wxPython 大小更强大且易于使用。

tkinter 缺点:在 *nix 盒子上使用类似主题的小部件,这让许多人觉得不快(尽管一些仔细的调整可以使 GUI 看起来完全可以接受)。有时很难调试,因为其核心的 Tkinter 小部件不是 python 对象; tkinter 为实际的 tk 小部件提供了一个包装器,这有时意味着您会收到奇怪的错误消息。几乎没有打印支持(您可以从 Canvas 生成 postscript 文档,但文本小部件中没有内置的打印支持)。有些人声称 Tk 是丑陋的。 Tkinter 不像 wxPython 那样“pythonic”。

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

wxPython 缺点 :wxPython 需要单独下载,在部署应用程序时管理起来会很麻烦。我认为文档非常薄弱;很难找到具体信息。 “wPython in Action”一书提供了很好的介绍,但不能作为引用书依赖。 wxPython 在 IMO 上有点问题,并且存在明确的跨平台问题。我比 Tkinter 更频繁地看到 wxPython 崩溃和打印断言。

关于tkinter - tkinter 和 wxWidgets 的优缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416170/

相关文章:

python - Tkinter 和绑定(bind)到 ListboxSelect 事件的两个列表框出现意外行为

Python Tkinter 动画

python - 生成随机点并将其放置在圆内

python-3.x - 为什么 python 编译器在 tkinder 模块中给我一个错误?

python - 为什么文件夹中的所有图像没有显示在 Canvas 框架内的 tkinter 标签上?

python:我需要在文本框中插入一个文本框

python - 在 Tkinter 中调整滚动条高度?

python - 类型错误: '>' 和 'function' 实例之间不支持 'int'

python - 赋值前引用的变量 - Python

python - 什么会导致 Tkinter/Python 中打开的文件对话框窗口在用户选择文件后关闭得非常慢?