如何删除添加退出按钮时出现的错误


from tkinter import*
import sqlite3
class login:
def __init__(self,root):
self.root=root
self.root.geometry("250x250")
self.root.title("Login")
self.root.resizable(False,False)
self.var_username=StringVar()   ##variables
self.var_password=StringVar()
username=Label(self.root,text="Username",font=("Bahnschrift SemiBold",15),bg="white",fg="black").place(x=15,y=20) 
username=Entry(self.root,textvariable=self.var_username,font=("Bahnschrift SemiBold",15),bg="white",fg="black").place(x=125,y=20,width=115)
password=Label(self.root,text="Password ",font=("Bahnschrift SemiBold",15),bg="white",fg="black").place(x=15,y=60)
password=Entry(self.root,textvariable=self.var_password,font=("Bahnschrift SemiBold",15),bg="white",fg="black").place(x=125,y=60,width=115)

_exit=Button(self.root,text="exit",command=self.destroy,font=("Bahnschrift SemiBold",15),bg="green",fg="white",cursor="hand2").place(x=125,y=100,width=55,height=28)
if __name__ == "__main__":
root=Tk()
obj=login(root)
root.mainloop()

它出现了一个属性错误,我不知道如何修复它,因为它在其他代码中也能工作。

您可能需要将按钮命令从self.destroy更改为self.root.destroy

Button(self.root,
text="exit",
command=self.root.destroy,
font=("Bahnschrift SemiBold",15),
bg="green",
fg="white",
cursor="hand2").place(x=125, y=100, width=55, height=28)

附带说明一下,执行label = Label(root, ...).place(x=...)不会做任何事情(对于任何小部件(。label的值将存储为None,以后您将无法引用该值来更改其属性。如果这是目标,那么简单地说:Label(root, ...).place(x=...)就可以了。否则,您将不得不在一行中创建小部件,并将它们放置在下一行中

PS:为了便于诊断,建议将所面临的错误也包括在内。请参阅"如何询问"以了解更多问题。

相关内容

  • 没有找到相关文章