0

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

from Tkinter import Tk
from tkFileDialog import askopenfilename

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

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

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

我正在运行 OSX Mavericks。如果无法修复该错误,我可以在 Python 中执行任何关闭此窗口的命令吗?

4

1 回答 1

2

请参阅此问题的已接受答案我何时需要在 Tkinter 应用程序中调用 mainloop?. 您通常需要调用Tk.mainloop()以启动 Tk 的事件循环处理。但是当您在交互式解释器中运行时,Python 会为您调用 Tk 事件处理器,否则您将无法在交互式解释器中轻松使用 Tkinter。

于 2013-10-31T19:52:09.863 回答