Home > other >  Opening a new window using a link in tkinter
Opening a new window using a link in tkinter

Time:01-17

How do I open a new window using a link in tkinter . (For eg : in a login window i want to add a link that says "New user ? click here" and when I click on "click here" it takes me to the register window . Please help me enter image description here

[1]: https://i.stack.imgur.com/K5GV0.png

Please click the above link to see the image

CodePudding user response:

You can open new windows in tkinter with the tkinter.Toplevel() command.

import tkinter as tk


class Gui:
    """Gui class"""
    def __init__(self):
        self.root = tk.Tk()

        self.new_window = tk.Button(master=self.root, text="Open new window", width=20, pady=4, command=self.new_window)
        self.new_window.pack()

        self.root.mainloop()

    def new_window(self):
        """Create a new top level window"""
        new_window = tk.Toplevel()
        tk.Label(master=new_window, text="This is a new window").pack()


if __name__ == '__main__':
    Gui()

CodePudding user response:

You can create a function to open a new window and then bind it to that Label, for example:

import tkinter as tk

def newWindow():
    # Window object (top level)
    newWindow = Toplevel(master)
 
    # Title
    newWindow.title("New Window 1")
 
    # Geometry
    newWindow.geometry("300x300")

root = tk.Tk()

label = tk.Label(text="Hello!", width=50, height=10, master=root)
label.pack()
label.bind("<Button-1>", newWindow)

CodePudding user response:

Creating new toplevel windows works almost exactly the same as creating new widgets.

Toplevel windows are created using the Toplevel function:

t = Toplevel(parent)

Unlike regular widgets, you don't have to "Grid" a toplevel fo it to appear on screen. Once you've created a toplevel you can add children widgets within and grid them like in the main window. In other words toplevel behaves exactly like the automatic created root window.

To destroy a window use the method:

window.destroy()
  •  Tags:  
  • Related