tkinter判定窗口是否存在
时间: 2024-08-12 22:04:11 浏览: 93
在Tkinter中,如果你想要判断某个窗口是否已经被实例化并存在,你可以通过检查窗口对象的引用是否存在来实现。以下是一个简单的示例:
```python
import tkinter as tk
def check_window_exists(window_name):
# 获取所有顶级窗口(包括根窗口)
all_windows = tk.Toplevel._top_level_windows()
# 遍历所有的窗口,查找指定名称的窗口
for window in all_windows:
if isinstance(window, tk.Toplevel) and window.winfo_title() == window_name:
return True # 找到了匹配的窗口
# 没有找到匹配的窗口
return False
# 主程序
root = tk.Tk()
if check_window_exists('MyWindow'):
print("窗口已经存在")
else:
new_window = tk.Toplevel(title='MyWindow') # 创建新窗口
root.mainloop()
# 调用check_window_exists函数来检查"MyWindow"窗口是否存在
if check_window_exists('MyWindow'):
print("再次检查,窗口仍然存在")
else:
print("窗口已被关闭")
```
在这个例子中,`check_window_exists`函数会遍历所有顶级窗口,并检查它们的标题(winfo_title())是否与给定的窗口名匹配。如果找到,函数返回True,否则返回False。
阅读全文