tkinter 无限弹窗怎么一次性释放
时间: 2023-08-30 15:11:01 浏览: 110
Python tkinter模块弹出窗口及传值回到主窗口操作详解
在 Tkinter 中,可以使用 `Toplevel` 创建弹窗。如果创建了多个弹窗但没有释放它们,可以使用 `.destroy()` 方法一次性释放它们。
可以将每个弹窗的对象存储在一个列表中,然后在需要释放所有弹窗的时候,遍历列表并调用 `.destroy()` 方法释放所有弹窗。
以下是一个例子:
```python
import tkinter as tk
class App:
def __init__(self):
self.root = tk.Tk()
self.windows = []
tk.Button(self.root, text="Create Window", command=self.create_window).pack()
self.root.mainloop()
def create_window(self):
window = tk.Toplevel(self.root)
tk.Label(window, text="This is a window!").pack()
tk.Button(window, text="Close", command=window.destroy).pack()
self.windows.append(window)
def destroy_all_windows(self):
for window in self.windows:
window.destroy()
self.windows = []
app = App()
```
在上面的代码中,每当用户单击 "Create Window" 按钮时,就会创建一个新窗口并将其对象添加到 `self.windows` 列表中。当用户单击 "Close All Windows" 按钮时,就会调用 `destroy_all_windows()` 方法,该方法遍历 `self.windows` 列表并调用 `.destroy()` 方法释放所有窗口。
阅读全文