使用 tkinter 中的链接打开新窗口

问题描述 投票:0回答:4

如何使用 tkinter 中的链接打开新窗口。 (例如:在登录窗口中,我想添加一个链接,上面写着“新用户?单击此处”,当我单击“单击此处”时,它会将我带到注册窗口。 请帮我 enter image description here

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

请点击以上链接查看图片

python windows tkinter click window
4个回答
1
投票

Creating new

toplevel
windows works almost exactly same as creating new widgets.

顶层窗口是使用

Toplevel
函数创建的:

t = Toplevel(parent)

与常规小部件不同,您不必“网格化”顶层即可显示在屏幕上。创建顶层后,您可以在其中添加子部件并像在主窗口中一样将它们网格化。换句话说,toplevel 的行为与自动创建的根窗口完全一样。

销毁窗口使用方法:

window.destroy()

0
投票

您可以使用 tkinter.Toplevel() 命令在 tkinter 中打开新窗口。

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()

0
投票

你可以创建一个函数来打开一个新窗口,然后将它绑定到那个

Label
,例如:

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)

0
投票

但是我们如何编写代码使新窗口定义存在于不同的 PY 文件中?如果我们有很多窗口应用程序,我们不想将所有代码都写在一个 PY 文件中......

© www.soinside.com 2019 - 2024. All rights reserved.