猿问

您好,如果想使用python bind()与一个函数关联可以传递参数过去吗?

entry=Entry(app,font=ft2)
entry.bind('<KeyRelease>',keyPress)
entry.pack()

关联的方法为:
def keyPress(a):
这样写能正确关联

我想把参数传递到方法里面去用,于是改如下:

entry=Entry(app,font=ft2)
entry.bind('<KeyRelease>',keyPress(i,j))
entry.pack()

关联的方法为:
def keyPressOriginData(a,i,j):

然后就不能关联了,
这是什么原因啊,还有那个a是什么啊,在第一个没有参数传递过来,为什么def keyPress(a):要用a啊
新人求指导

RISEBY
浏览 409回答 2
2回答

慕莱坞森

这个有标准用法。我有些忘记了。似乎是这样子entry=Entry(app,font=ft2)entry.bind('<KeyRelease>',keyPress)entry.pack()def keyPress(self,i):不过,如果你要传递参数,通过类的属性变量就可以了。

慕娘9325324

这个a是事件,如果你键盘按下来的是键盘值,a.char就会是这个键盘值。如果是字符值,print会打印出来的.
随时随地看视频慕课网APP
我要回答