Tkinter পাইথনের একটি লাইব্রেরি যা GUI তৈরির কাজে ব্যবহৃত হয়। এতে GUI উইন্ডো এবং অন্যান্য উইজেট তৈরি ও ম্যানিপুলেট করার জন্য অনেক বিল্ট-ইন মেথড রয়েছে। এই আর্টিকেলে আমরা Tkinter GUI-তে after মেথড কীভাবে ব্যবহার করা হয় তা দেখব।
সিনট্যাক্স
.after(delay, FuncName=FuncName) এই মেথড দেওয়া delay (মিলিসেকেন্ডে) পর ফাংশন FuncName কল করে।
উইজেট প্রদর্শন
এখানে আমরা একটি ফ্রেম তৈরি করি যেটি শব্দের একটি লিস্ট যাদবচয়ে প্রদর্শন করবে। random লাইব্রেরি এবং after মেথড ব্যবহার করে একটি ফাংশন কল করি যেটি দেওয়া টেক্সট লিস্টকে যাদবচয়ে দেখাবে।
উদাহরণ
import random
from tkinter import *
base = Tk()
a = Label(base, text="After() Demo")
a.pack()
contrive = Frame(base, width=450, height=500)
contrive.pack()
words = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
# শব্দগুলো যাদবচয়ে একের পর এক প্রদর্শন
def display_weekday():
if not words:
return
rand = random.choice(words)
character_frame = Label(contrive, text=rand)
character_frame.pack()
contrive.after(500, display_weekday)
words.remove(rand)
base.after(0, display_weekday)
base.mainloop()
উপরোক্ত কোড চালালে নিচের ফলাফল পাওয়া যায়:

একই প্রোগ্রাম আবার চালালে শব্দের ভিন্ন ক্রম দেখা যাবে।

প্রসেসিং বন্ধ করা
পরবর্তী উদাহরণে আমরা দেখব কিভাবে after মেথডকে একটি ডिले মেকানিজম হিসেবে ব্যবহার করে একটি প্রসেস নির্দিষ্ট সময় ধরে চালানোর পর বন্ধ করা যায়। এছাড়া destroy মেথডও ব্যবহার করা হয়।
উদাহরণ
from tkinter import Tk, mainloop, TOP
from tkinter.ttk import Button
from time import time
base = Tk()
stud = Button(base, text='After Demo()')
stud.pack(side=TOP, pady=8)
print('processing Begins...')
begin = time()
base.after(3000, base.destroy)
mainloop()
conclusion = time()
print('process destroyed in %d seconds' % (conclusion - begin))
উপরোক্ত কোড চালালে নিচের ফলাফল পাওয়া যায়:
processing Begins... process destroyed in 3 seconds