python tkinter界面跳转
时间: 2023-09-06 19:11:09 浏览: 151
在Python中,可以使用Tkinter模块来创建GUI应用程序,实现界面跳转的方法有很多,下面介绍一种常用的方法。
假设我们有两个界面:Page1和Page2,当用户点击Page1的按钮时,跳转到Page2界面,当用户点击Page2的按钮时,返回到Page1界面。具体实现方法如下:
```python
import tkinter as tk
class Page1(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.master = master
self.btn_goto_page2 = tk.Button(self, text="Go to Page2", command=self.goto_page2)
self.btn_goto_page2.pack(pady=20)
def goto_page2(self):
self.master.switch_frame(Page2)
class Page2(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.master = master
self.btn_goto_page1 = tk.Button(self, text="Go to Page1", command=self.goto_page1)
self.btn_goto_page1.pack(pady=20)
def goto_page1(self):
self.master.switch_frame(Page1)
class Application(tk.Tk):
def __init__(self):
super().__init__()
self.title("Application")
self.geometry("300x200")
self.frames = {}
self.create_frames()
self.show_frame(Page1)
def create_frames(self):
for F in (Page1, Page2):
frame = F(self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
def show_frame(self, page):
frame = self.frames[page]
frame.tkraise()
def switch_frame(self, page):
self.show_frame(page)
if __name__ == "__main__":
app = Application()
app.mainloop()
```
上述代码中,Page1和Page2都是继承自tk.Frame的类,其中包含了一个按钮,点击按钮时调用相应的跳转方法。Application是一个继承自tk.Tk的类,其中包含了创建所有Frame的方法和显示Frame的方法,以及一个switch_frame方法来实现跳转。在程序运行时,首先创建一个Application对象,并调用其mainloop方法启动程序。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)