tkinter怎么关闭现有窗口打开新窗口
时间: 2023-09-30 07:10:00 浏览: 75
Python TKinter如何自动关闭主窗口
要关闭现有窗口并打开新窗口,您可以使用以下代码:
```python
import tkinter as tk
class MainWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.btn_new_window = tk.Button(self, text="打开新窗口", command=self.open_new_window)
self.btn_new_window.pack()
def open_new_window(self):
self.master.destroy()
new_window = tk.Tk()
new_window.geometry("200x200")
new_window.title("新窗口")
app = NewWindow(new_window)
class NewWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.label = tk.Label(self, text="新窗口已打开!")
self.label.pack()
root = tk.Tk()
root.geometry("200x200")
root.title("主窗口")
app = MainWindow(root)
root.mainloop()
```
在上面的代码中,我们创建了两个类,一个是 `MainWindow`,另一个是 `NewWindow`。当用户单击“打开新窗口”按钮时,`open_new_window` 方法将被调用。该方法首先使用 `self.master.destroy()` 关闭当前窗口,然后创建一个新的 `Tk()` 实例并创建一个新的 `NewWindow` 对象。最后,新窗口将被显示。
请注意,使用 `Tk()` 创建多个窗口并不是最佳做法。相反,您应该使用 `Toplevel()` 创建新窗口。但是,在这个例子中,我们仍然使用 `Tk()` 来演示如何关闭当前窗口并打开新窗口。
阅读全文