2016-03-19 101 views
0

我想打开一个简单的文件对话框来要求用户选择一个文件。我的代码是:Python 2.71.11 Tkinter窗口不关闭“应用程序没有响应”

from Tkinter import Tk 
from tkFileDialog import askopenfilename 

Tk().withdraw() 
filename = askopenfilename() 
print(filename) 
sys.exit(0) 

该程序成功检索文件名,但该窗口保持打开状态并且不关闭。我可以退出它的唯一方法是通过Force Quit。我正在使用Mac OS X 10.11和Python 2.7.11。

谢谢

+0

可能重复http://stackoverflow.com/questions/8009176/function-to-close-the- window-in-tkinter – spicyramen

+0

'Tk()。deiconify()''在'sys.exit()'之前。所以不能摧毁隐藏的元素。 – dsgdfg

回答

0

似乎是基于你的开发环境的一些问题。参见参考文献[2]。这为我工作:

from Tkinter import Tk 
from tkFileDialog import askopenfilename 

root = Tk() #To initialize Tkinter, we have to first create a Tk root widget 
filename = askopenfilename() # store filename 
# root.mainloop() may be necessary for your development environment (see [2]) 
root.destroy() #destroy the event loop - only required in some python environments (see [2]) 
print(filename) 

[1] http://effbot.org/tkinterbook/tkinter-hello-tkinter.htm

[2] http://effbot.org/tkinterbook/tkinter-hello-again.htm