我想首先说我知道其他人有这个问题,但我查看了对他们的回复,没有一个足够相似来帮助我解决这个问题。
我正在尝试跟踪一个条目框,如果条目大小合适,请遍历 SQL 数据库并找到相应的值。
https://i.stack.imgur.com/egSX6.png GUI 是,如果条件已填充,则带有 $ 的字段应更新。
我添加了此代码来检查条目:
def update_winner():
cursor = conn.cursor()
winner = winner_id.get()
school = school_name.get()
temp = school+winner
if len(temp) == 5:
cursor.execute("SELECT Rating FROM KIDS WHERE LocalID = ?", temp)
rating=cursor.fetchval()
cursor.execute("SELECT FirstName FROM KIDS WHERE LocalID = ?", temp)
name=cursor.fetchval()
winner_name.set(name)
winner_id.trace("w",update_winner)
ratings.mainloop()
当我运行它时,当我将任何内容放入馈送给winner_id的条目中时,我收到以下错误:类型错误:update_winner(( 需要 0 个位置参数,但给出了 3 个。
update_winner(( 的参数从何而来?它在跟踪方法中被调用,我认为我没有传递任何东西。
修改StringVar
内容时,使用 3 个参数调用 update_winner
函数(有关详细信息,请参阅 Tkinter 变量跟踪方法回调的参数是什么?由于您的函数不接受任何参数,因此它会TypeError: update_winner() takes 0 positional arguments but 3 were given
给出错误。
要更正它,只需更改def update_winner():
def update_winner(*args):
.