Python tkinter에서 Button 위젯의 "command" 매개변수는 다음 작업을 수행하는 함수를 지정하기 위한 것입니다. 버튼을 눌렀을 때 실행됩니다. 그러나 초보자들이 흔히 저지르는 오해는 버튼을 선언하는 순간에도 "명령"과 관련된 함수가 실행된다는 관찰입니다.
이 동작을 이해하려면 Python이 함수 매개 변수를 처리하는 방법을 자세히 살펴봐야 합니다. 함수를 매개변수로 전달하는 경우 두 가지 가능성이 있습니다.
제공한 예제 코드에서 Hello()는 매개 변수로 전달됩니다. Button 위젯. 이는 함수가 즉시 실행되고 해당 반환 값이 "command"에 전달됨을 의미합니다. Hello()는 아무 것도 반환하지 않으므로 None을 반환하고 이는 버튼의 "command" 매개변수에 할당되어 사실상 아무 작업도 수행하지 않습니다.
이 문제를 해결하고 버튼을 클릭할 때만 함수를 실행하려면, 다음과 같이 함수 개체를 전달해야 합니다.
<code class="python">hi = Button(frame, text="Hello", command=Hello)</code>
이렇게 하면 버튼을 누르면 Hello() 함수가 호출되어 의도한 코드가 실행됩니다.
추가로 , 함수에 인수를 전달해야 하는 경우 아래와 같이 람다 식을 사용하여 함수 호출을 래핑할 수 있습니다.
<code class="python">hi = Button(frame, text="Hello", command=lambda: Goodnight("Moon"))</code>
이 경우 람다 식은 Goodnight() 함수가 버튼 선언시에는 실행되지 않고 오히려 버튼이 클릭되어 명령이 실행될 때까지 기다립니다.
위 내용은 버튼의 \'명령\' 매개변수 기능은 언제 실행됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!