python Tkinter条目删除方法无法删除

vhmi4jdf  于 2022-11-28  发布在  Python
关注(0)|答案(1)|浏览(192)

我正在尝试清除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)

我以前遇到过这个问题,记得几个小时后我找到了修复方法,但是现在我不记得怎么修复了。

ykejflvf

ykejflvf1#

我记住了答案。由于某种原因,我无法从我创建的保存函数中访问输入框的变量。因此,我将save函数之外的输入框的变量拉入到函数中,在它们前面列出“global”。然后,我创建了变量,从函数之外拉入数据。我的错误是,当我使用delete方法时,我是在新命名的变量上使用它,而不是在函数外部的框上使用它。
我不知道为什么我必须把函数设置为全局的,以便保存函数访问它们。我在代码的顶部定义了save函数,但是对函数的调用是在变量定义之后。如果有人能谈谈这一点,我将不胜感激。

相关问题