【发布时间】:2014-03-30 00:16:24
【问题描述】:
我试图通过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)
【问题讨论】:
-
您是否尝试过在启动事件循环后打开对话框? OSX 有它的 tkinter 特性,但一般来说,tkinter 需要一个事件循环才能正常运行。
-
Bryan,你所说的“事件循环”是指 mainloop() 吗?
标签: python macos python-3.x tkinter