与事件和定义纠缠
问题描述:
我正在尝试编写一个绑定计数器程序,但我遇到了变量'r'的问题。因为在行中没有'r':def callback(event,r):我遇到了一个名为LocalBoundError的错误。我搜索了一下,发现我应该在def()中使用我的参数编写。因此,我试过了。但它不起作用,因为已经有一个参数,事件。你有什么想法我应该做什么?与事件和定义纠缠
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()
答
使用拉姆达到额外的参数r
传递给callback
功能
top.bind("", lambda event: callback(event, r))
您可能还需要做出r
一个global
变量,使其功能后permenantly改变
+0
谢谢。它对我非常有帮助。 – antisycop
+0
完全没问题:) –
请修复代码的格式。编辑器中有一些工具可以使这一切变得简单。查找看起来像“{}”的按钮。 –
答案在我的问题和@furas评论中提到[link](http://stackoverflow.com/q/41800868/5722359)。 –