Python 需要帮助/建议。”“访问”对象没有“用户名”属性

Python 需要帮助/建议。”“访问”对象没有“用户名”属性,python,class,user-interface,authentication,Python,Class,User Interface,Authentication,我有两个文件。一个用于使用tkinter的登录GUI,另一个用于登录/验证过程。在屏幕截图中,根文件运行正常。当我运行登录文件时,gui框会弹出,但当我关闭它时,会出现一个错误--> '''File "c:/Users/j/Desktop/pyth/login.py", line 20, in <module> Log.auth() 文件c:/Users/j/Desktop/pyth/login.py,第10行,在auth中 如果self.user==Application.ca

我有两个文件。一个用于使用tkinter的登录GUI,另一个用于登录/验证过程。在屏幕截图中,根文件运行正常。当我运行登录文件时,gui框会弹出,但当我关闭它时,会出现一个错误-->

 '''File "c:/Users/j/Desktop/pyth/login.py", line 20, in <module>
Log.auth()
文件c:/Users/j/Desktop/pyth/login.py,第10行,在auth中 如果self.user==Application.captureslf.verify和self.pw==Application.captureslf.verify2: 文件c:\Users\j\Desktop\pyth\root.py,第24行,在捕获中 self.verify=self.username.get AttributeError:“Access”对象没有属性“username”

我理解这个错误的意思,但我不知道如何着手修复它。最后,我尝试在单击登录按钮后从登录框中获取输入,并查看它是否匹配分配的用户和pw,这是登录文件中发生的事情


当您运行login.py时,您在root.py中编写的代码由于来自根导入应用程序而被执行。这就是GUI出现的原因

然后,当您关闭GUI时,代码日志=Acess。。。然后执行Log.auth,并在login.py的第10行将self传递给应用程序的捕获方法

在捕获方法中,self.username试图访问不存在的access的用户名,从而使代码崩溃

您可以移动root.py文件中的代码,将应用程序传递给Acess类,并将其存储在一个属性中,该属性将用于auth函数而不是应用程序

root = tk.tk()
app = Application(master=root)
root.mainloop
Log = Acess("user", "pwd")
Log.auth()

您是否可以使用代码片段而不是屏幕截图提供一个最小的可复制示例?看见这也可能是一个转移视线的问题,但是错误消息中引用的Acess对象可能拼写错误:应该是带有两个Cs和两个Ss的Access,而不是Acess。