Tkinter ভেরিয়েবল (var) একটি নির্দিষ্ট উইজেটের জন্য (textvariable=var) ডিফাইন করা হয় যা উইজেটের আপডেটেড মান সংরক্ষণ করে। কখনও কখনও, ভেরিয়েবল ইনফরমেশন আপডেট করার সময়, আমাদের কিছু এক্সট্রা অপারেশন প্রসেস করতে হয় যেমন read, write, বা undefined।
Tkinter ভেরিয়েবল আপডেট করতে কলব্যাক ফাংশন trace (self, mode, callback) প্রদান করে যা অপারেশন টাইপ নেয় যেমন read(r), write(w), অথবা undefined(u)। এই মানগুলো ভিত্তিক কলব্যাক সিদ্ধান্ত নেয় কী প্রসেস করতে হবে। অন্যান্য দুটি মান वो ভেরিয়েবল ডিফাইন করে যা ট্রেস করতে হবে (উইজেট ইনফরমেশন ধারণ করে) এবং ভেরিয়েবলের ইনডেক্স।
উদাহরণ
এই উদাহরণে, আমরা এন্ট্রি উইজেটের মান ট্রেস করব যা ইউজার ইনপুট দিলে আপডেট হয়।
# প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট
from tkinter import *
# Tkinter ফ্রেমের ইনস্ট্যান্স তৈরি
win = Tk()
win.geometry("750x250")
# ইউজার ইনপুট সংরক্ষণের ভেরিয়েবল তৈরি
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()
আউটপুট
উপরোক্ত কোড এক্সিকিউট করলে একটি এন্ট্রি উইজেট দেখাবে যা ইনপুট একটি ভেরিয়েবলে সংরক্ষণ করে। কলব্যাক ফাংশন ভেরিয়েবলের আপডেটেড মান ট্রেস করবে এবং লেবেল উইজেটে প্রদর্শন করবে।
এখন, দেওয়া এন্ট্রি উইজেটে কিছু টাইপ করুন। লেবেল উইজেট ইনপুট মান অনুকরণ করবে এবং উইন্ডোতে আউটপুট দেখাবে।

কনসোলে আপনি নিচের আউটপুট দেখতে পাবেন:
H He Hel Hell Hello Hello Hello W Hello Wo Hello Wor Hello Worl Hello World