tkinter 跟踪方法错误



我想首先说我知道其他人有这个问题,但我查看了对他们的回复,没有一个足够相似来帮助我解决这个问题。

我正在尝试跟踪一个条目框,如果条目大小合适,请遍历 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): .

相关内容

最新更新