按下按钮时,我正在尝试访问Tkinter中按钮的标签。这涉及返回对按下的目标按钮的引用。
目前,由于我必须输入参数,这是通过将command
选项绑定到lambda
函数来完成的,即
button['command'] = lambda: fun_to_call(arg)
有没有办法返回实例?我检查了TKDocs并没有覆盖。另外,我尝试使用单独的字符串列表来获取标签。但是,它只返回列表的最后一个元素(我相信这是由于lambda函数在创建按钮实例时没有将特定元素绑定到列表。我之前使用此列表生成按钮列表。)< / p>
简而言之,一个基于事件的函数绑定到返回其父级的按钮(按下按钮)。
答案 0 :(得分:3)
def add_callback(control, fun):
def inner():
return fun(control)
control['command'] = inner
...
def test_callback(button):
print "button instance:", button
b = Button(text="click me")
add_callback(b, test_callback)
更具说明性:
def with_callback(control, fun):
def inner():
return fun(control)
control['command'] = inner
return control
...
b = with_callback(Button(text="click me"), test_callback)