2016-03-19 143 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