टिंकर चर (var) एक विशेष विजेट के लिए परिभाषित किया गया है (textvariable=var) विजेट के अद्यतन मूल्य को संग्रहीत करने के लिए। कभी-कभी, एक मामला हो सकता है, चर जानकारी को अपडेट करते समय, हमें कुछ अतिरिक्त संचालन जैसे पढ़ने, लिखने या अपरिभाषित को संसाधित करने की आवश्यकता होती है।
टिंकर कॉलबैक फ़ंक्शन ट्रेस (स्वयं, मोड, कॉलबैक) के साथ चर को अद्यतन करने का एक तरीका प्रदान करता है जो प्रक्रिया का संचालन करता है जैसे पढ़ें(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()
आउटपुट
उपरोक्त कोड को निष्पादित करने से एक एंट्री विजेट प्रदर्शित होगा जो इनपुट को एक चर में संग्रहीत करता है। कॉलबैक फ़ंक्शन चर के अद्यतन मान का पता लगाएगा और इसे लेबल विजेट में प्रदर्शित करेगा।
अब दिए गए एंट्री विजेट में कुछ टाइप करें। लेबल विजेट इनपुट मान की नकल करेगा और विंडो पर आउटपुट प्रदर्शित करेगा।
कंसोल पर, आपको निम्नलिखित देखने को मिलेंगे -
H He Hel Hell Hello Hello Hello W Hello Wo Hello Wor Hello Worl Hello World