Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

อาร์กิวเมนต์ของการเรียกกลับเมธอดการติดตามตัวแปร Tkinter คืออะไร?


ตัวแปร Tkinter (var) ถูกกำหนดไว้สำหรับวิดเจ็ตเฉพาะ (textvariable=var) เพื่อเก็บค่าที่อัปเดตของวิดเจ็ต บางครั้ง อาจมีบางกรณี ขณะอัปเดตข้อมูลตัวแปร เราจำเป็นต้องประมวลผลการดำเนินการพิเศษบางอย่าง เช่น อ่าน เขียน หรือไม่ได้กำหนด

Tkinter มีวิธีอัปเดตตัวแปรด้วยการติดตามฟังก์ชันการโทรกลับ (ตนเอง โหมด การเรียกกลับ) ซึ่งใช้การดำเนินการของกระบวนการเช่น read(r), write(w) , หรือ undefined(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()

ผลลัพธ์

การดำเนินการโค้ดข้างต้นจะแสดงวิดเจ็ตรายการที่เก็บอินพุตไว้ในตัวแปร ฟังก์ชันเรียกกลับจะติดตามค่าที่อัปเดตของตัวแปรและแสดงในวิดเจ็ตป้ายกำกับ

ตอนนี้ พิมพ์บางอย่างในวิดเจ็ตรายการที่กำหนด วิดเจ็ตป้ายกำกับจะเลียนแบบค่าอินพุตและแสดงเอาต์พุตบนหน้าต่าง

อาร์กิวเมนต์ของการเรียกกลับเมธอดการติดตามตัวแปร Tkinter คืออะไร?

บนคอนโซล คุณจะเห็นสิ่งต่อไปนี้ -

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