python - 需要帮助/推荐python。“访问”对象没有属性“用户名”
问题描述
我有 2 个文件。一个用于使用 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 if (self.user == Application.capture(self).verify and self.pw == Application.capture(self) .verify2):文件“c:\Users\j\Desktop\pyth\root.py”,第 24 行,在捕获 self.verify=self.username.get() AttributeError: 'Acess' object has no attribute 'username' ''
我理解错误的含义,但我不确定如何修复它。最终,一旦单击“LOGIN”按钮,我将尝试从登录框中获取输入,并查看它是否与分配的用户和 pw 匹配,这就是登录文件中发生的事情。
解决方案
发生的情况是,当您运行 login.py 时,您在 root.py 中编写的代码由于from root import Application
. 这就是 GUI 出现的原因。
然后,当您关闭 GUI 时,将Log = Acess(.., ...) then Log.auth()
执行代码并在 login.py 的第 10 行将 self 传递给 Application 的捕获方法。
在捕获方法中,self.username
试图访问不存在的 Acess 用户名,从而使代码崩溃
您可以移动 root.py 文件中的代码并将应用程序传递给 Acess 类并将其存储在一个属性中,该属性将用于 auth 函数而不是 Application
root = tk.tk()
app = Application(master=root)
root.mainloop
Log = Acess("user", "pwd")
Log.auth()
推荐阅读
- syntax - 嵌套委托的类型语法是什么?
- polymer - 有没有更好的方法通过 LitElement 将函数传递给道具?
- python - 如何编辑 XML 文件并保存在新文件中?
- google-apps-script - Google 电子表格无法检索下一个对象:迭代器已到达末尾
- r - 在 R 中创建具有多个组的箱线图
- python - 关于自动化无聊的东西第 3 章的问题
- css - 添加(组合)CSS 类属性 - 图标或图像
- python - 从具有数百万条记录的大型 CSV 文件中删除不需要的不可打印字符 - 在 Python 3 或 2.7 中
- javascript - 获取后访问状态以显示它
- python - 我可以在 Python 中生成 16 个值的固定加密消息吗