Python 3.x 与事件和定义作斗争
我试图编写一个绑定计数器程序,但变量“r”有问题。因为在:def callback(event,r)行中没有'r',我遇到了一个称为LocalBoundError的错误。我搜索了一下,了解到应该使用def()编写参数。因此,我试过了。但它不起作用,因为已经有一个参数event。你知道我该怎么做吗Python 3.x 与事件和定义作斗争,python-3.x,tkinter,Python 3.x,Tkinter,我试图编写一个绑定计数器程序,但变量“r”有问题。因为在:def callback(event,r)行中没有'r',我遇到了一个称为LocalBoundError的错误。我搜索了一下,了解到应该使用def()编写参数。因此,我试过了。但它不起作用,因为已经有一个参数event。你知道我该怎么做吗 from tkinter import * top = Tk() r = 0 def callback(event,r): r = r+1 print(r)
from tkinter import *
top = Tk()
r = 0
def callback(event,r):
r = r+1
print(r)
top.mainloop()
top.bind("<Button-1>",callback,r)
top.mainloop()
从tkinter导入*
top=Tk()
r=0
def回调(事件,r):
r=r+1
印刷品(r)
top.mainloop()
top.bind(“,回调,r)
top.mainloop()
使用lambda将额外的参数r
传递给回调
函数
top.bind("", lambda event: callback(event, r))
您可能还需要将
r
设置为global
变量,以便它在函数执行后永久更改请修改代码的格式。编辑器中有一些工具可以简化这一过程。查找类似于{}
的按钮。答案在我的问题和@furas注释中提到。一点问题也没有:)