2
버튼을 누를 때 Tkinter에서 버튼의 레이블에 액세스하려고합니다. 여기에는 대상 버튼을 눌렀을 때 참조가 반환됩니다. 내가 입력 인수에 가지고파이썬 기반 TKinter에서 누른 버튼의 인스턴스를 반환하는 방법
현재이는 lambda
기능 즉
button['command'] = lambda: fun_to_call(arg)
인스턴스를 반환 할 수있는 방법이 있는가에 command
옵션을 결합하면됩니다? 나는 TKDocs를 점검했는데 커버하지 않았다. 또한 레이블 대신 별도의 문자열 목록을 사용하려고했습니다. 그러나 그것은 단지 목록의 마지막 요소를 반환합니다. (단추 인스턴스를 만들 때 목록에 특정 요소를 바인딩하지 않는 람다 함수 때문이라고 생각합니다.)이 목록을 사용하여 단추 목록을 생성했습니다.
즉, 이벤트 기반 함수는 부모를 반환하는 버튼에 바인딩됩니다 (버튼이 눌려 있음).
선언
감사합니다! 그건 완벽하게 작동합니다. 아직도 어떻게 작동하는지 이해하려고 노력하고 있습니다. 위의'lambda' 함수가 작동하지 않는 이유는 무엇입니까? 사용하고있는 내부 함수에 대한이 기사를 읽으십시오 : http://stackoverflow.com/questions/1589058/nested-function-in-python – jhtong
@toiletfreak, 간단한 Tkinter 콜백 - 인수없이 함수 ('lambda'). 'with_callback'은 (컨트롤 인스턴스의) [closure] (http://en.wikipedia.org/wiki/Closure_ (computer_science))를 만들고 인자없이 동적으로 생성 된 콜백을 반환합니다 – astynax