2017-10-09 5 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'된다 : F 당신은 i 당신도 can usepartial 콜백 함수에 전달하려는? 왜냐하면'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)) 

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, 언제든지. –

관련 문제