python - 登录成功后如何销毁主屏幕
问题描述
我读过一篇与我的非常相似的帖子,但我无法将所述函数输入到我的代码中,所以我在这里问。我正在做一个登录屏幕,我想在成功登录后销毁所有屏幕。
这是主屏幕:
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'
解决方案
main_screen 是一个函数。利用screen.destroy()
推荐阅读
- hybris - 在 hybris 后台更改对象标识符
- ruby-on-rails - Rails 5(ajax):参数数量错误(给定1,预期0)
- php - 使用 ajax 向 php 页面发送 post 请求
- angular - 如何在 ngFor 循环中动态定义 formControl 名称?
- compiler-errors - 我有一个 Simulink 模块错误
- python - 如何在 Django 项目中使用 Feedparser
- vb.net - 比较字符串和数组 VB
- r - 如何访问 R 中的栅格全局属性?
- python - “不是一个有效的字符串。” - 尝试在 Django Rest Framework 中将 dict 保存到 TextField 时出错
- typescript - 无法使用 Office JS 删除 Word 中的嵌套内容控件