Python实现不同交互界面跳转(创建子界面)

       在使用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()

你可能感兴趣的:(Python交互界面,python,开发语言,ui,交互)