Tkinter值得学习吗?

19

我通常使用Qt制作桌面界面,但最近一些TK的截图让我意识到,现在的TK并不仅仅是丑陋的 Motif 了。此外,Tkinter与Python捆绑在一起,这使得分发更容易。

那么,学习Tk值得吗,或者我应该坚持使用Qt呢?

示例Tk界面
(来源:kb-creative.net)

5个回答

24

对于你的问题,答案是肯定的yes

Qt很好,我没有反对它。但Tk更好,更易于使用,并且相当文档齐全 - 不仅在Python网站上,还有许多第三方教程。 这个特别是我从中学到的,一直为我服务得相当完美。


2
Tk使用默认的系统显示,这在大多数情况下非常明显。此外,当您在显示中有多个元素(例如窗口)时,Tk会在幕后执行“管理工作”,以确保所有元素都显示并适合于窗口内,这是其他不太多的工具包为您所做的。 - inspectorG4dget
我写下这篇答案已经过去了好几个月。现在时代已经变化,我应该指出easygui让事情变得更加容易。它还允许访问Tkinter,如果你真的想要深入研究Tkinter的话。我建议使用easygui而不是Tkinter,因为它更容易使用。 - inspectorG4dget
我个人建议学习Tkinter。相比其他我尝试过的东西,它更容易(除了一些东西不是内置的,你必须自己构建;但是,自己构建实际上是可能的,这也是Tkinter如此好用的部分;你可以相当容易地构建自定义的东西)。Python帮助函数在Tkinter方面非常有用。学习Tkinter确实需要时间,但你可以学会,并且有很多乐于助人的人,例如Bryan Oakley,在Stackoverflow上可以帮助你。 - Brōtsyorfuzthrāx
2
Tk 使用默认的系统显示器,那为什么它看起来如此丑陋和不本地化? - endolith

5

你可能想看一下这个(wxPython)

wxPython是最好的、最成熟的跨平台GUI工具包,考虑到许多限制。wxPython不是Python标准GUI工具包的唯一原因是Tkinter先出现了。 -- Guido van Rossum


wx提供了什么,Qt没有呢?不管怎样,我选择tk的主要原因是它与Python捆绑在一起,这使得分发对我来说更加容易。 - hoju
@Richard 在 http://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits 上做了很好的比较。 - Pratik Deoghare
有什么具体的优点吗?我读到的唯一可能的优点是使用本地小部件,但是Qt的外观对我来说很好。缺点是wx看起来更难分发,商业支持较少,没有与Qt Creator相当的东西,也没有样式。无论如何,我在这里的目的不是找到一个Python GUI库,而是决定是坚持使用Qt还是尝试Tkinter。 - hoju
1
我不能同意那个方程中“最成熟”的部分。Tk非常、非常成熟,可以说比wxPython更健壮。在Tk中,我想不起上一次看到核心转储的时间了。但是在开发过程中,使用wxPython经常会出现这种情况。 - Bryan Oakley

4
作为其他GUI工具包的升级,TkInter确实如此。如果你已经了解其他工具包,那么你已经理解了TkInter,并且可以将其留到你真正需要它的时候再使用。

2
为什么不选择PyQT呢?你显然已经熟悉Qt,所以学习起来应该相对容易。在我看来,它比Tkinter更好看,并且文档也更好。

5
我已经使用 PyQt/PySide - 问题是我是否应该尝试 Tkinter。 - hoju
抱歉,从您的问题中并不完全清楚。 - Ton van den Heuvel
因为PyQT附带了一个庞大的库,包括QT库等。 - obayhan

0

我之前使用C++的Qt,但决定尝试使用Python的Tkinter。安装最新版本的Tcl/Tk时遇到了一些麻烦,但最终成功了。我是在tkdocs.com教程的帮助下完成的,这个教程非常好。


Tkinter是Python自带的库,IDLE也使用它。 - phkahler
是的,但不总是最新版本。 - Skilldrick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接