我正在尝试清除Tkinter窗体中的文本框,该窗体是我为将数据输入到SQL Server数据库中而创建的。
代码将数据移动到数据库。但是,我收到一条错误消息,内容是:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\tkinter\__init__.py", line 1892, in __call__
return self.func(*args)
File "c:\Users\bigre\OneDrive\Games\StratFB\Strat Baseball Game Entry Form.py", line 96, in save
project_abbrevation.delete(0,END)
AttributeError: 'str' object has no attribute 'delete'
当运行这部分代码时:
#Clear the text boxes
project_abbrevation.delete(0,END)
visiting_team.delete(0,END)
home_team.delete(0,END)
winning_team.delete(0,END)
losing_team.delete(0,END)
我以前遇到过这个问题,记得几个小时后我找到了修复方法,但是现在我不记得怎么修复了。
1条答案
按热度按时间ykejflvf1#
我记住了答案。由于某种原因,我无法从我创建的保存函数中访问输入框的变量。因此,我将save函数之外的输入框的变量拉入到函数中,在它们前面列出“global”。然后,我创建了变量,从函数之外拉入数据。我的错误是,当我使用delete方法时,我是在新命名的变量上使用它,而不是在函数外部的框上使用它。
我不知道为什么我必须把函数设置为全局的,以便保存函数访问它们。我在代码的顶部定义了save函数,但是对函数的调用是在变量定义之后。如果有人能谈谈这一点,我将不胜感激。