每次使用 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/