GUI विंडो में कई नियंत्रण होते हैं जैसे लेबल, बटन, टेक्स्ट बॉक्स आदि। हम कभी-कभी चाहते हैं कि हमारे नियंत्रण की सामग्री जैसे लेबल विंडो देखते समय स्वचालित रूप से अपडेट हो जाएं।
हम बाद () . का उपयोग कर सकते हैं एक निश्चित समय के बाद एक समारोह चलाने के लिए। उदाहरण के लिए, 1000 मिलीसेकंड का मतलब 1 सेकंड है। एक निश्चित समय के बाद हम जिस फ़ंक्शन को लगातार कॉल करते हैं, वह टेक्स्ट या किसी भी अपडेट को अपडेट कर देगा जो आप करना चाहते हैं।
हमारी खिड़की पर एक लेबल है। हम चाहते हैं कि लेबल का टेक्स्ट 1 सेकंड के बाद अपने आप अपडेट हो जाए। उदाहरण को आसान रखने के लिए, मान लें कि हम चाहते हैं कि लेबल 0 और 1000 के बीच कोई संख्या दिखाए। हम चाहते हैं कि यह संख्या प्रत्येक 1 सेकंड के बाद बदल जाए।
हम एक फ़ंक्शन को परिभाषित करके ऐसा कर सकते हैं जो लेबल के टेक्स्ट को 0 और 1000 के बीच कुछ यादृच्छिक संख्या में बदल देगा। हम बाद () का उपयोग करके 1 सेकंड के अंतराल के बाद लगातार इस फ़ंक्शन को कॉल कर सकते हैं।
उदाहरण
from Tkinter import * from random import randint root = Tk() lab = Label(root) lab.pack() def update(): lab['text'] = randint(0,1000) root.after(1000, update) # run itself again after 1000 ms # run first time update() root.mainloop()
यह 1000 मिलीसेकंड के बाद लेबल के टेक्स्ट को स्वचालित रूप से कुछ नए नंबर में बदल देगा। आप जरूरत के हिसाब से समय अंतराल को बदल सकते हैं। अद्यतन फ़ंक्शन को आवश्यक अद्यतन करने के लिए संशोधित किया जा सकता है।
root.after(1000,update)
कोड की यह पंक्ति फ़ंक्शन अपडेट () को वापस बुलाने का मुख्य कार्य करती है।
root.after() में पहला पैरामीटर मिलीसेकंड में समय अंतराल निर्दिष्ट करता है जिसके बाद आप फ़ंक्शन को वापस बुलाना चाहते हैं।
दूसरा पैरामीटर याद किए जाने वाले फ़ंक्शन का नाम निर्दिष्ट करता है।