>백엔드 개발 >파이썬 튜토리얼 >조기 실행 없이 Tkinter 버튼 명령에 인수를 어떻게 전달할 수 있습니까?

조기 실행 없이 Tkinter 버튼 명령에 인수를 어떻게 전달할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-21 03:12:10789검색

How Can I Pass Arguments to Tkinter Button Commands Without Premature Execution?

Tkinter의 버튼 명령에 인수 전달

Tkinter에서 버튼을 생성할 때 명령 함수에 인수를 전달하는 것이 유용할 수 있습니다. 제공된 코드:

import Tkinter as Tk
win = Tk.Toplevel()
frame = Tk.Frame(master=win).grid(row=1, column=1)
button = Tk.Button(master=frame, text='press', command=action)

여기서 작업은 버튼을 누를 때 호출되는 메서드이며 인수가 버튼 명령에 대한 매개 변수로 직접 전달될 수 있음을 나타냅니다.

button = Tk.Button(master=frame, text='press', command=action(someNumber))

그러나 이 코드는 즉시 작업을 실행하여 버튼을 쓸모 없게 만듭니다. 이 문제를 해결하려면:

Lambda를 사용한 솔루션

람다는 명시적인 래퍼 메서드나 작업 수정 없이 인수 바인딩을 허용합니다.

button = Tk.Button(master=frame, text='press', command= lambda: action(someNumber))

이것은 인수를 효과적으로 전달하고 버튼을 누를 때 작업이 올바르게 호출되도록 보장합니다.

위 내용은 조기 실행 없이 Tkinter 버튼 명령에 인수를 어떻게 전달할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.