কম্পিউটার টিউটোরিয়াল

Tkinter-এ update এবং update_idletasks-এর পার্থক্য

Update মেথড সকল পেন্ডিং আইডল টাস্ক, অনভিজিটেড ইভেন্ট, কলিং ফাংশন এবং কলব্যাক প্রসেস করে। এই মেথডটি উইজেট রিড্র, জিওমেট্রি ম্যানেজমেন্ট, উইজেট প্রপার্টি কনফিগার করা ইত্যাদি সকল ইভেন্ট বা টাস্ক আপডেট এবং প্রসেস করার জন্য প্রযোজ্য।

এটি নিশ্চিত করে যে যদি অ্যাপ্লিকেশনে কোনো পেন্ডিং টাস্ক থাকে, তবে এটি শুধু সেই মান আপডেট বা রিফ্রেশ করবে যা অ্যাপ্লিকেশনের পুরো অংশকে প্রভাবিত করে। একটি সিঙ্গল পেন্ডিং টাস্কের জন্য update ব্যবহার করা নাস্তিকতামূলক হবে, তাই Tkinter update_idletasks() মেথডও প্রদান করে। এটি শুধু সেই আইডল পেন্ডিং টাস্ক আপডেট করে যা অ্যাপ্লিকেশনে কোনো কারণ থেকে স্থির বা আপডেট হচ্ছে না। এটি যেকোনো অন্যান্য ইভেন্ট বা কলব্যাক প্রসেস না করে সকল পেন্ডিং ইভেন্ট কল করে।

update() এবং update_idletasks() মেথডগুলো যেকোনো পেন্ডিং বা আইডল টাস্ক প্রসেস করার জন্য উপকারী। যাইহোক, update() এবং update_idletasks()-এর একমাত্র পার্থক্য হলো update() অ্যাপ্লিকেশনে উপস্থিত সকল ইভেন্ট প্রসেস করে, در সময় update_idletasks() শুধু সেই ইভেন্টগুলো প্রসেস করে যা রান হচ্ছে না বা স্থির।

উদাহরণ

আমরা update_idletasks() মেথডের ব্যবহার এবং অ্যাপ্লিকেশন এই উদাহরণের মাধ্যমে বুঝতে পারি।

# Tkinter লাইব্রেরি ইম্পোর্ট করুন
from tkinter import *
from tkinter import ttk
import time
# Tkinter ফ্রেমের উদাহরণ তৈরি করুন
win = Tk()
# Tkinter উইন্ডোর আকার সেট করুন
win.geometry("700x350")
def add_Text():
    for i in range(10):
        label.config(text="The loops starts from 1 to " + str(i))
        # দু সেকেন্ড অপেক্ষা করুন
        win.update_idletasks()
        time.sleep(2)
        label.config(text=i)
# একটি লেবেল টেক্সট যোগ করুন
label = Label(win, text="Original Text", font=('Aerial 16'))
label.pack(pady=30)
# লেবেল টেক্সট আপডেট করার জন্য একটি বাটন যোগ করুন
ttk.Button(win, text="Change Text", command=add_Text).pack(pady=40)
win.mainloop()

আউটপুট

উপরের কোড চালালে একটি লেবেল উইজেট এবং একটি বাটন সহ উইন্ডো প্রদর্শিত হবে।

Tkinter-এ update এবং update_idletasks-এর পার্থক্য

যখন আমরা বাটন চাপব, লেবেল উইজেটটি লুপের দেওয়া রেঞ্জে অটোমেটিক্যালি আপডেট হবে।

Tkinter-এ update এবং update_idletasks-এর পার্থক্য

  1. Tkinter-এ Tk এবং Toplevel ক্লাসের পার্থক্য

  2. Tkinter(Python)-এ root.destroy() এবং root.quit() এর পার্থক্য কী?

  3. Python-এ tkinter এবং tkinter.ttk উইজেটের পার্থক্য কী?

  4. উইন্ডোজ আপডেট এবং আপগ্রেডের পার্থক্য কী?