Tk打开窗口问题/ bug

时间:2013-10-31 19:03:07

标签: python tkinter

如果我在解释器中键入以下内容,它就像一个魅力:

from Tkinter import Tk
from tkFileDialog import askopenfilename

Tk().withdraw()
fh = open(askopenfilename(), 'r') 

但是,如果我使用完全相同的命令编写/保存/运行脚本,虽然它可以工作(有点像预期的),打开的窗口变为空白并保留在屏幕上(打开所选文件后)并保持在一切。

因此,我需要再次单击Python图标才能关闭窗口。有一次这种情况停止了,但是当我在没有Tk().withdraw()命令的情况下运行一次脚本时,问题又重新出现了。

我正在运行OSX Mavericks。如果没有办法修复bug,Python中是否有任何命令可以实现关闭此窗口?

1 个答案:

答案 0 :(得分:2)

查看此问题的已接受答案When do I need to call mainloop in a Tkinter application?。您通常需要调用Tk.mainloop()来启动Tk的事件循环处理。但是当您在交互式解释器中运行时,Python会为您调用Tk事件处理器,否则您将无法轻松地在交互式解释器中使用Tkinter。