2017-10-09 102 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當然,感覺自由。 –