【问题标题】:Tkinter askopenfilename() won't closeTkinter askopenfilename() 不会关闭
【发布时间】:2015-11-19 22:21:29
【问题描述】:

我正在使用以下代码 sn-p 打开文件选择器对话框。它可以很好地打开对话框,但是在选择文件后,对话框会在我的其余代码执行期间保持打开状态,即 3-4 分钟。我以为root.destroy() 会像关闭其他 Tkinter 窗口一样关闭打开的文件对话框,但似乎并非如此。

from tkinter import *
from tkinter.filedialog import askopenfilename

root = Tk()
root.withdraw()
file_path = askopenfilename()
root.destroy()

选择文件后如何关闭打开的文件对话框?我在 OSX 10.10 上使用 3.4.3 版

【问题讨论】:

  • 在 Windows 7、Python 2.7 上运行良好
  • 忘记根窗口并想回来? root.withdraw()你失去根窗口不能回去了!
  • @SDilmac root.deiconify() 把它带回来
  • 我不确定它在 OSX 上是否有所不同,但我更感兴趣的是在选择文件后关闭对话框,同时程序完成它的执行。如果添加time.sleep(10),对话框窗口将保持打开状态,而 python 等待 10 秒。我希望它在文件选择后立即关闭。
  • @maccartm 朋友,你能告诉我root.deiconify() 的代码吗?但是谢谢你警告我....

标签: python tkinter


【解决方案1】:

为了结束这个问题,这里是答案:

askopenfilename()之前致电root.update()

【讨论】:

  • 只是想为我添加,在 OSX 和 python2 上,调用 root.update() 之后 askopenfilename() 工作。
  • 上帝保佑你。我从几个小时就开始这样做了
猜你喜欢
  • 2018-12-06
  • 2020-11-11
  • 1970-01-01
  • 2019-01-10
  • 1970-01-01
  • 2023-02-17
  • 1970-01-01
  • 2018-12-31
  • 2021-12-15
相关资源
最近更新 更多