tkinter有一个toplevel,有一个root窗口。如何在事件中判断该2窗口是否存在
时间: 2023-05-10 22:55:25 浏览: 76
可以使用Tkinter中的winfo_exists()方法来判断窗口是否存在。具体实现可以在事件处理函数中使用以下代码:
if toplevel.winfo_exists() and root.winfo_exists():
# 两个窗口都存在
else:
# 至少有一个窗口不存在
相关问题
tkinter有一个toplevel,有一个root窗口。如何判断该2窗口是否存在
您可以使用以下代码来判断这两个窗口是否存在:
```
if tkinter._default_root is None or tkinter._default_root.winfo_exists() == 0:
print("root窗口不存在")
if toplevel.winfo_exists() == 0:
print("toplevel窗口不存在")
```
其中,`_default_root` 是 tkinter 库中默认的 root 窗口,如果该窗口不存在,则说明 root 窗口不存在。`winfo_exists()` 方法可以判断一个窗口是否存在,如果返回值为 0,则说明该窗口不存在。
tkinter有一个toplevel,有一个root窗口。窗口移动时,触发事件do(),在事件中判断该2窗口是否存在?请写详细代码,
好的,以下是代码:
```python
import tkinter as tk
def do(event):
if root.winfo_exists() and toplevel.winfo_exists():
print("Both windows exist.")
else:
print("One or both windows do not exist.")
root = tk.Tk()
toplevel = tk.Toplevel()
root.bind("<Motion>", do)
root.mainloop()
```
这段代码创建了一个根窗口和一个顶层窗口,并在根窗口移动时触发了一个事件。在事件处理程序中,我们使用 `winfo_exists()` 方法检查两个窗口是否存在。如果两个窗口都存在,我们打印出 "Both windows exist.",否则打印出 "One or both windows do not exist."。