【发布时间】:2017-05-18 03:19:45
【问题描述】:
我希望我的脚本能够以这样的方式工作,关闭 tkinter 中之前的所有窗口。
如果我最小化现有的弹出窗口并再次运行相同的脚本,它将再次弹出新窗口。当我再次运行脚本时,如何关闭已经存在的窗口?
简单代码:
import Tkinter as tk
root = tk.Tk()
root.mainloop()
【问题讨论】:
我希望我的脚本能够以这样的方式工作,关闭 tkinter 中之前的所有窗口。
如果我最小化现有的弹出窗口并再次运行相同的脚本,它将再次弹出新窗口。当我再次运行脚本时,如何关闭已经存在的窗口?
简单代码:
import Tkinter as tk
root = tk.Tk()
root.mainloop()
【问题讨论】:
如果你检查本地变量中的所有变量,看看你是否有 tk 类型?
import tkinter as tk
root = tk.Tk()
tk_type = type(root)
print(tk_type)
var=0
for var in locals().items():
if type(var[1]) == tk_type:
print(var, 'to be deleted')
root.mainloop()
类似这样的东西,您可以将测试放在类的开头,看看它是否存在其他 TK 窗口对象。 我确信它应该存在更好的解决方案。
【讨论】: