怎么用python写一个窗口之间切换
时间: 2023-06-04 14:03:31 浏览: 318
可以使用tkinter库来实现窗口之间的切换。以下是一个简单的示例代码:
```python
import tkinter as tk
class MainWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.create_widgets()
def create_widgets(self):
self.button = tk.Button(self, text="切换到子窗口", command=self.switch_window)
self.button.pack()
def switch_window(self):
self.master.switch_frame(ChildWindow)
class ChildWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.create_widgets()
def create_widgets(self):
self.label = tk.Label(self, text="这是子窗口")
self.label.pack()
self.button = tk.Button(self, text="切换回主窗口", command=self.switch_window)
self.button.pack()
def switch_window(self):
self.master.switch_frame(MainWindow)
class Application(tk.Tk):
def __init__(self):
super().__init__()
self.title("窗口切换示例")
self.geometry('200x100')
self.create_frames()
def create_frames(self):
self.frames = {}
for F in (MainWindow, ChildWindow):
self.frames[F] = F(master=self)
self.frames[F].grid(row=0, column=0, sticky="nsew")
self.switch_frame(MainWindow)
def switch_frame(self, frame_class):
frame = self.frames[frame_class]
frame.tkraise()
app = Application()
app.mainloop()
```
在上述代码中,`MainWindow` 和 `ChildWindow` 分别代表主窗口和子窗口。`Application` 类继承自 `tk.Tk`,用于创建整个应用程序的框架。`create_frames` 方法用于创建各个窗口实例,并将它们显示在应用程序中。
每个窗口都是基于 `tk.Frame` 的子类,它们都有一个 `switch_window` 方法,用于在不同的窗口之间切换。在主窗口中,点击按钮会触发 `switch_window` 方法,将当前窗口切换到子窗口,子窗口同理。
在应用程序中,通过 `switch_frame` 方法实现窗口之间的切换,其中 `tkraise` 方法用于将某个窗口置于最上层。
阅读全文