在使用python中tkinter库进行界面设计时,常常会遇到从一个界面跳转到另一个界面的状况,这时可以通过在界面中放置跳转“按钮”来实现,具体实现代码如下:
import tkinter as tk#导入tkinter库 class Application(tk.Tk): def __init__(self): tk.Tk.__init__(self) self._frame = None self.switch_frame(PageOne)#定义初始界面为PageOne def switch_frame(self, frame_class): new_frame = frame_class(self) if self._frame is not None: self._frame.destroy() self._frame = new_frame self._frame.pack() #在此之前的内容照常复制即可 class PageOne(tk.Frame):#定义界面1 PageOne def __init__(self, master): tk.Frame.__init__( self, master )#在此之后可以自主加入该页内容所需控件,本例子添加Hello world 标签以及跳转到PageTwo的按钮 tk.Label( self, text="Hello world", font=('Helvetica', 18, "bold") ).grid( row=0, column=0, pady=10 ) tk.Button( self, text="Go to PageTwo", command=lambda: master.switch_frame( PageTwo ) ).grid( row=1, column=0, pady=10 )#跳转按钮用了之前定义的switch_frame函数,将其变量输入为新定义的界面变量名即可 class PageTwo(tk.Frame):#定义界面2PageTwo def __init__(self, master): tk.Frame.__init__( self, master ) tk.Button( self, text="Go to PageOne", command=lambda: master.switch_frame( PageOne ) ).grid( row=0, column=1, pady=100 )#在此定义可以跳转回PageOne的按钮 if __name__ == "__main__": app = Application() app.geometry('800x300+200+150') app.title('Welcome') app.mainloop()