Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter 변수 추적 메서드 콜백에 ​​대한 인수는 무엇입니까?

<시간/>

Tkinter 변수 (var) 특정 위젯 (textvariable=var)에 대해 정의됩니다. 위젯의 업데이트된 값을 저장합니다. 때로는 변수 정보를 업데이트하는 동안 읽기, 쓰기 또는 정의되지 않음과 같은 일부 추가 작업을 처리해야 하는 경우가 있을 수 있습니다.

Tkinter는 콜백 함수 추적 (self, mode, callback)으로 변수를 업데이트하는 방법을 제공합니다. 읽기(r), 쓰기(w)와 같은 프로세스의 작업을 수행합니다. , 또는 정의되지 않음(u) . 이러한 값을 기반으로 콜백은 프로세스가 콜백 함수에서 수행해야 하는 작업을 결정합니다. 다른 두 값은 추적해야 하는 변수(위젯 정보 포함)와 변수의 인덱스를 정의합니다.

예시

이 예에서는 사용자가 값을 입력할 때 업데이트되는 항목 위젯의 값을 추적합니다.

#Import the required library
from tkinter import*
#Create an instance of Tkinter frame
win = Tk()
win.geometry("750x250")
#create a variable to store the User Input
my_variable = StringVar()
def trace_when_Entry_widget_is_updated(var, index, mode):
   print ("{}".format(my_variable.get()))

my_variable.trace_variable("w", trace_when_Entry_widget_is_updated)
Label(win, textvariable = my_variable).pack(padx=5, pady=5)
Entry(win, textvariable = my_variable, width=20).pack(ipadx=20,padx=5, pady=5)
win.mainloop()

출력

위의 코드를 실행하면 입력을 변수에 저장하는 항목 위젯이 표시됩니다. 콜백 함수는 업데이트된 변수 값을 추적하여 Label 위젯에 표시합니다.

이제 주어진 항목 위젯에 무언가를 입력하십시오. 레이블 위젯은 입력 값을 모방하고 창에 출력을 표시합니다.

Tkinter 변수 추적 메서드 콜백에 ​​대한 인수는 무엇입니까?

콘솔에서 다음을 볼 수 있습니다 -

H
He
Hel
Hell
Hello
Hello
Hello W
Hello Wo
Hello Wor
Hello Worl
Hello World