tkinter弹出两个窗口如何解决
时间: 2023-12-02 12:03:05 浏览: 58
可以采用以下两种方法来解决tkinter弹出两个窗口的问题:
1.使用Toplevel()函数创建一个子窗口,而不是使用Tk()函数创建一个新的主窗口。这样,你就不会再创建一个新的主窗口了。例如:
```python
import tkinter as tk
root = tk.Tk()
root.title("Main Window")
def open_window():
# 创建一个子窗口
top = tk.Toplevel()
top.title("Sub Window")
btn = tk.Button(root, text="Open Window", command=open_window)
btn.pack()
root.mainloop()
```
2.使用withdraw()方法和deiconify()方法来隐藏和显示主窗口。当你点击“Open Window”按钮时,先使用withdraw()方法隐藏主窗口,然后创建一个新的子窗口,并在子窗口关闭后再使用deiconify()方法显示主窗口。例如:
```python
import tkinter as tk
root = tk.Tk()
root.title("Main Window")
def open_window():
# 隐藏主窗口
root.withdraw()
# 创建一个子窗口
top = tk.Toplevel()
top.title("Sub Window")
# 子窗口关闭时再显示主窗口
top.protocol("WM_DELETE_WINDOW", lambda: root.deiconify())
btn = tk.Button(root, text="Open Window", command=open_window)
btn.pack()
root.mainloop()
```
这两种方法都可以解决弹出两个窗口的问题,选择哪种方法取决于你的具体需求。