我在python中创建了两个root窗口,我在第一个窗口里面添加了一个按钮,点击他会生成第二个窗口,但是我希望我再次点击的时候可以关闭我上一个生成的第二个窗口,生成一个新的第二个窗口
时间: 2024-02-22 18:00:52 浏览: 42
你可以在生成第二个窗口的函数中添加关闭上一个窗口的代码,然后再生成新的第二个窗口。具体来说,你可以使用 `Toplevel` 函数来创建第二个窗口,然后在该函数中添加一个判断语句来检查是否已经存在第二个窗口,如果存在则先关闭之前的窗口,再创建新的窗口。以下是一个示例代码:
```python
import tkinter as tk
def create_second_window():
global second_window
# check if second window already exists
if second_window is not None:
second_window.destroy()
# create new second window
second_window = tk.Toplevel(root)
second_window.title("Second Window")
second_window.geometry("200x200")
# create first window with a button to create second window
root = tk.Tk()
root.title("First Window")
root.geometry("200x200")
second_window = None # initialize second_window to None
btn_create_second_window = tk.Button(root, text="Create Second Window", command=create_second_window)
btn_create_second_window.pack()
root.mainloop()
```
在上面的示例代码中,我们首先定义了一个 `create_second_window` 函数来创建第二个窗口。该函数首先检查是否已经存在第二个窗口,如果存在则先关闭之前的窗口,再创建新的窗口。然后我们创建了第一个窗口,并添加了一个按钮来调用 `create_second_window` 函数。最后我们使用 `mainloop` 函数来进入主事件循环,以便响应用户的操作。
阅读全文