我是Python新手,我遇到以下问题:
这是我用来调用函数 mouseclick 的代码。但 mouseclick 需要参数 counter (在我的例子中)。 如何通过 计数器 鼠标点击 点击标签? 此代码只传递参数 event 。 我在哪里可以写第二个参数来传递?
label1.bind('<Button-1>', mouseclick)
我试过了:
label1.bind('<Button-1>', mouseclick, counter)
和此:
label1.bind('<Button-1>', mouseclick(counter))
但它没有用。
感谢您的帮助!
答案 0 :(得分:1)
将变量与函数关联的常用方法是使用类实例。 python类方法的优点是它们保留了对它们实例的引用,因此可以在以后调用它们而无需专门传递实例。
class Counter:
def __init__(self):
self.counter = 0
def on_click(self, event):
self.counter += 1
mouseclick = Counter()
label1.bind('<Button-1>', mouseclick.on_click)
答案 1 :(得分:1)
如果您正在使用Tkinter,则可以向Controller#action
函数添加变量counter
,如下所示:
mouseclick
答案 2 :(得分:0)
轻松使用lambda
,您可以将函数调用mouseclick
绑定到参数,定义&#34;内联&#34;匿名函数
label1.bind('<Button-1>', lambda event : mouseclick(event,counter))