首页 > 解决方案 > 登录成功后如何销毁主屏幕

问题描述

我读过一篇与我的非常相似的帖子,但我无法将所述函数输入到我的代码中,所以我在这里问。我正在做一个登录屏幕,我想在成功登录后销毁所有屏幕。

这是主屏幕:

def main_screen():
    global screen
    screen = Tk()
    screen.geometry("500x450")
    screen.title("COVID-19 VACCINE REGISTRATION PROGRAM")
    screen.config(bg="lavender", border ="10",borderwidth="15")
    Label(text = "USER LOGIN AND SIGN UP" , bg = "darkblue", fg="white" , height ="4", width ="400", font =("Times New Roman", 15)).pack() #label
    Label(text = "").pack()  #.pack() => to put widgets in frame.
    Button(text = "LOGIN ", bg = "firebrick", fg = "white",  height = "4", width ="30", font =("Times New Roman", 15) ,command = login ).pack() #login button
    Label(text = "").pack()    #empty for space
    Button(text = "REGISTER", bg ="firebrick", fg ="white" , height = "4", width ="30", font =("Times New Roman", 15), command = register ).pack() #register new account button

    screen.mainloop()

这是验证登录:

def login_succesful():
    global screen_3
    screen_3=Toplevel(screen)
    Label(screen_3,text="").pack()
    screen_3.title("Succesful login attempt")            #to create a pop up showing login attempt is succesful
    screen_3.geometry("250x200")
    screen_3.config(bg="lavender")
    Label(screen_3,text="").pack()
    Label(screen_3,text = "LOGIN ATTEMPT SUCCESFUL", fg = "green" ,font = ("Times New Roman",12)).pack()
    Label(screen_3,text="").pack()
    Button(screen_3,text = "Done", command = delete2 , bg = "maroon" , fg = "white").pack()

这是删除 def :

def delete2():
    screen_3.destroy()  
    main_screen.destroy() 

我得到的错误与帖子相同,但正如我所说,我无法将上述建议实施到我的代码中。

错误是:AttributeError:'function'对象没有属性'destroy'

标签: pythontkinter

解决方案


main_screen 是一个函数。利用screen.destroy()


推荐阅读