与事件和定义斗争

时间:2017-03-17 13:55:10

标签: python-3.x tkinter

我试图写一个绑定计数器程序,但我遇到了变量' 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()

1 个答案:

答案 0 :(得分:1)

使用lambda将额外参数callback传递给top.bind("", lambda event: callback(event, r)) 函数

r

您可能还需要将global变为function sheetName() {return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();} 变量,以便在函数后永久更改