Skip to content Skip to sidebar Skip to footer

Python Gui Open A "new Page"

When I press a button, I want to open a new side. Not a new window, the window should be the same, just the interface should change. How can I solve this without opening a new win

Solution 1:

You could create two frames in the same place, and lifting them over one another using the lift and lower methods (example taken from Bryan Oakley here and slightly altered):

import Tkinter as tk

classSampleApp(tk.Tk):
    def__init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        self.frame = tk.Frame(self)
        self.frame2 = tk.Frame(self)
        self.frame.place(relwidth=1, relheight=0.8, relx=0, rely=0)
        self.frame2.place(relwidth=1, relheight=0.8, relx=0, rely=0)
        self.label = tk.Label(self.frame, text="Hello, world")
        button1 = tk.Button(self, text="Click to hide label",
                           command=self.hide_label)
        button2 = tk.Button(self, text="Click to show label",
                            command=self.show_label)
        self.label.pack()
        button1.place(relwidth=0.5, relheight=0.15, relx=0.0, rely=0.825)
        button2.place(relwidth=0.5, relheight=0.15, relx=0.5, rely=0.825)

    defshow_label(self, event=None):
        self.frame.lift(self.frame2)

    defhide_label(self, event=None):
        self.frame.lower(self.frame2)

if __name__ == "__main__":
    app = SampleApp()
    app.mainloop()

You could place 'page one' in one frame and 'page two' in the other

Post a Comment for "Python Gui Open A "new Page""