我如何编辑我迄今为止所做的代码,以便当我点击'注册'按钮时,它关闭那个GUI并打开下一个
问题描述:
我正在使用tkinter来制作一个GUI,并制作了各种不同的按钮,现在我做了这一切,我不能确定如何正确做第一GUI箱靠近第二个打开(sign_in功能)我如何编辑我迄今为止所做的代码,以便当我点击'注册'按钮时,它关闭那个GUI并打开下一个
from tkinter import *
class login:
def __init__(self, master):
frame = Frame(master)
frame.grid()
self.button1 = Button(frame, text="signup", fg="green",command=self.sign_in)
self.button2 = Button(frame, text="sign in", fg="black",)
self.button3 = Button(frame, text="quit", fg="red", command=frame.master.destroy)
self.button1.grid(stick=W)
self.button2.grid(stick=W)
self.button3.grid(stick=W)
def sign_in(self):
frame = Frame()
frame.grid()
name = Label(root, text="Name: ")
password = Label(root, text="password: ")
entry1 = Entry(root)
entry2 = Entry(root)
name.grid(row=0, sticky=E)
password.grid(row=1, sticky=E)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
c = Checkbutton(root, text="keep me logged in")
c.grid(columnspan=2, sticky="w")
root = Tk()
account=login(root)
root.mainloop()
答
你的代码中包含一些缩进错误所以我就用你的问题去了。
当我点击按钮“注册”,关闭所有GUI和打开下一个
您可以先收回你的根窗口这样做:root.withdraw()
这将隐藏自己原来的窗口。然后创建一个Toplevel窗口,如下所示:newWindow = tk.Toplevel(root)
创建一个新窗口。您只需将这些行放在按钮命令调用中即可。
这里就是你可以在sign_in
注改变,我改变了所有的主人frame
,而不是root
:
def sign_in(self):
root.withdraw()
frame = Toplevel(root)
name = Label(frame, text="Name: ")
password = Label(frame, text="password: ")
entry1 = Entry(frame)
entry2 = Entry(frame)
name.grid(row=0, sticky=E)
password.grid(row=1, sticky=E)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
c = Checkbutton(frame, text="keep me logged in")
c.grid(columnspan=2, sticky="w")
您可以将某些可怕的缩进问题,请修复第一 – abccd