python - 类型错误 : callback() takes exactly 2 arguments (0 given)

标签 python tkinter

每次使用 Tkinter 单击按钮时都会出现此错误。我不太确定给出 0 个参数是什么意思,因为我认为回调给出了两个参数。错误回溯:

Exception in Tkinter callback Traceback (most recent call last): 
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1470, in call return self.func(*args)   
TypeError: callback() takes exactly 2 arguments (0 given)

这是我所有与回调相关的代码

def callback(input_set, user_set):
    user_score = 0
    if len(input_set & user_set) == 0:
        user_score += len(input_set - user_set) * 2
    for multiplier, user_set in enumerate(user_sets, 1):
        user_score += len(input_set & user_set) * multiplier

    print "Congratulations, you've scored " + str(user_score) + " points!"

# Creates button to calculate score
self.button = Tkinter.Button(self, font="Arial", text="Click to get your score", 
                             width = 45, pady = 5, command = callback)
self.button.grid(column=0, row=3, sticky="", columnspan=2)

最佳答案

命令=回调

在这里你必须给你传递给回调的参数。使用 command=lambda:callback(arg1,arg2)

其中 arg1 和 arg2 是您需要提供被调用函数的参数

关于python - 类型错误 : callback() takes exactly 2 arguments (0 given),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20343927/

相关文章:

python - [Python/Tkinter]如何获取在函数 "event_generate"中设置的数据值

python - 在 python 中将文件附加到电子邮件会导致文件名空白?

python - 从此 Python 生成器中删除递归

python - Django Admin 的重大性能问题 - 外键标签

python - 如何将小部件放入 ttk.Button

python - Tkinter 骰子滚筒

python - 在 Python 中单击按钮时隐藏标签

python - 如何创建一个新的 python tkinter 窗口,使其完全适合可用的桌面区域,但未最大化?

python - 读取基于 Web 的 JSON

python - Python 中的变量名自省(introspection)