2017-10-09 96 views
3

我似乎无法将我的功能绑定到此特定按钮。我曾经尝试这样做:无法将功能绑定到按钮

这是我的函数:

def callback(str): 
    print('he button <%s> is being pressed' % str) 

,这是我绑定功能:绑定时

btn = Button(text="%s" % feedList[i]['message']) 
btn.bind(on_press=callback(i)) 
+0

是'i'一个字符串?因为'callback()'需要一个字符串作为参数。 –

+0

不,但我试着返回一个字符串,但它仍然不会运行例如on_press = callback(“hello world”) – xx4xx4

+0

然后你应该给我们更多的信息,特别是你得到的错误信息和我们可以运行和测试的代码。 –

回答

0

should通功能名称:

btn.bind(on_press=callback) 

# ... 

def callback(instance, value): 
    print('My button <%s> state is <%s>' % (instance, value)) 

I F你想传递i也回调您can usepartial功能:

from functools import partial 

btn.bind(on_press=partial(callback, i)) 

# ... 

def callback(i, instance, value): 
    print('My button <%s> state is <%s>' % (instance, value)) 
+0

感谢它现在的作品 – xx4xx4

+0

我可以问你另一个问题吗? – xx4xx4

+0

@ xx4xx4当然,感觉自由。 –