参考:Anaconda的MacOS 10.14,Python 3.6,Spyder 3.3.4
我刚开始在Python中使用tkinter,并且正在尝试运行从Spyder内部找到的here的简单演示代码。为了完整起见,六行脚本如下:
import tkinter as tk
r = tk.Tk()
r.title('Counting Seconds')
button = tk.Button(r, text='Stop', width=25, command=r.destroy)
button.pack()
r.mainloop()
但是,当我运行它时,它挂起了。没有沙滩球,没有冰冻,什么也没发生。摆脱挂起命令的唯一方法是重新启动IPython内核,或者关闭并重新启动Spyder。
我想我已经将问题线跟踪到:
r = tk.Tk()
如果由其自身执行,将以相同的方式导致挂起。
我知道Mac OS上的Tkinter和Python之间存在许多问题(例如this),但我所见似乎都没有一个问题可以重现此特定问题。
有什么想法吗?
答案 0 :(得分:1)
部分感谢@Saad的一些有用评论,我想我已经解决了这个问题。 Python 3.6.7(来自Anaconda)和tk / tcl 8.6.9似乎玩起来不太好。如果我将tk / tcl降级到8.6.8,则无论我使用的IDE如何,一切都可以正常工作。