我如何编辑我迄今为止所做的代码,以便当我点击'注册'按钮时,它关闭那个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() 
+0

您可以将某些可怕的缩进问题,请修复第一 – abccd

你的代码中包含一些缩进错误所以我就用你的问题去了。

当我点击按钮“注册”,关闭所有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") 
+0

压痕问题都应该固定现在, –

+0

在那里,检查我的编辑 – abccd

+0

感谢一群伙计 –