Tkinter পরিবর্তনশীল (var) একটি নির্দিষ্ট উইজেটের জন্য সংজ্ঞায়িত করা হয় (textvariable=var) একটি উইজেটের আপডেট করা মান সংরক্ষণ করতে। কখনও কখনও, একটি কেস হতে পারে, পরিবর্তনশীল তথ্য আপডেট করার সময়, আমাদের কিছু অতিরিক্ত ক্রিয়াকলাপ যেমন পড়া, লিখতে বা অনির্ধারিত প্রক্রিয়া করতে হবে৷
Tkinter একটি কলব্যাক ফাংশন ট্রেস সহ ভেরিয়েবল আপডেট করার একটি উপায় প্রদান করে (স্বয়ং, মোড, কলব্যাক) যা প্রক্রিয়াটির অপারেশন নেয় যেমন read(r), write(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()
আউটপুট
উপরের কোডটি কার্যকর করলে একটি এন্ট্রি উইজেট প্রদর্শিত হবে যা একটি ভেরিয়েবলে ইনপুট সংরক্ষণ করে। কলব্যাক ফাংশন ভেরিয়েবলের আপডেট করা মান ট্রেস করবে এবং এটি একটি লেবেল উইজেটে প্রদর্শন করবে।
এখন, প্রদত্ত এন্ট্রি উইজেটে কিছু টাইপ করুন। লেবেল উইজেট ইনপুট মান অনুকরণ করবে এবং উইন্ডোতে আউটপুট প্রদর্শন করবে।
কনসোলে, আপনি নিম্নলিখিতগুলি দেখতে পাবেন -
H He Hel Hell Hello Hello Hello W Hello Wo Hello Wor Hello Worl Hello World