Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何关闭以前的主(顶部)tkinter窗口_Python_Tkinter - Fatal编程技术网

Python:如何关闭以前的主(顶部)tkinter窗口

Python:如何关闭以前的主(顶部)tkinter窗口,python,tkinter,Python,Tkinter,我希望我的脚本应该以这样的方式工作,关闭tkinter中以前的所有窗口 如果我最小化现有的弹出窗口,并且再次运行相同的脚本,它将再次弹出新窗口。当我再次运行脚本时,如何关闭已经存在的窗口 简单代码: import Tkinter as tk root = tk.Tk() root.mainloop() 也许如果你检查所有的局部变量,看看里面是否有tk类型 import tkinter as tk root = tk.Tk() tk_type = type(root) print(tk_ty

我希望我的脚本应该以这样的方式工作,关闭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窗口对象。
我相信它应该存在一个更好的解决方案。

:它不起作用。如果我运行脚本,它会弹出tk窗口。我最小化tk窗口,再次运行相同的脚本,它应该删除旧窗口并弹出新窗口OK。我当时误解了。您是否尝试过操作系统模块?我认为是操作系统能够关闭另一个python脚本。问题是操作系统如何知道哪些脚本(那些有tkinter窗口的脚本)要关闭。谢谢提供信息。我不知道如何在相同的代码中实现