调用tkinter askopenfilename方法后,打开文件对话框冻结

时间:2014-02-26 21:29:17

标签: python macos python-3.x tkinter

我试图通过tkinter.filedialog.askopenfilename()简单地从用户那里获取文件名。函数返回正常,下面的代码显示文件名正常,但对话窗口在点击“打开”或“取消”后没有立即关闭,它会冻结。我使用的是python 3.3.3或OSX 10.9.1和tcl / tK 8.5.9。

from tkinter import *
from tkinter.messagebox import *
from tkinter.filedialog import *

top = Tk()
top.withdraw()

file_name = filedialog.askopenfilename()

print (file_name)

2 个答案:

答案 0 :(得分:0)

root.update()之后添加filedialog.askopenfilename()会在选择文件后关闭打开文件对话框。

root = tk.Tk()                     
root.withdraw()
file_path = filedialog.askopenfilename()
root.update()

引用:Tkinter askopenfilename() won't close

答案 1 :(得分:-1)

您无需在

中指定模块名称
file_name = filedialog.askopenfilename()

尝试

file_name = askopenfilename()

代替