Lambda를 사용하여 Tkinter for 루프에서 버튼 명령 할당 해결
lambda 함수를 사용하여 for 루프 내에 여러 개의 버튼을 생성할 때 각 버튼에 대한 고유한 매개 변수는 어려울 수 있습니다. 기본적으로 람다 식은 각 루프 반복 중에 다시 할당되는 name 변수를 참조합니다. 이로 인해 모든 버튼이 마지막으로 할당된 값을 상속하게 됩니다.
이 문제를 해결하려면 람다 표현식에 기본 키워드 매개변수를 사용할 수 있습니다. 이렇게 하면 각 버튼이 고유한 매개변수를 받게 됩니다.
user_button = Tkinter.Button(self.root, text=name, command=lambda name=name: self.a(name))
루프 반복마다 name 변수의 현재 값을 람다의 name 키워드 인수에 바인딩하여 원하는 기능을 달성합니다. 이제 각 버튼은 의도한 대로 고유한 매개변수를 사용하여 a() 함수를 실행합니다.
위 내용은 루프에 여러 개의 Tkinter 버튼을 생성할 때 Lambda 변수 캡처 문제를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!