বেশির ভাগ পরিস্থিতিতে, কলব্যাক ফাংশনগুলো ইনস্ট্যান্স মেথড হিসেবে রেফার করা হয়। একটি ইনস্ট্যান্স মেথড তার সকল মেম্বার অ্যাক্সেস করে এবং আর্গুমেন্ট স্পেসিফাই ছাড়া সেগুলোর সাথে অপারেশন পারফর্ম করে।
একটি কেস বিবেচনা করুন যেখানে একাধিক কম্পোনেন্ট ডিফাইন করা থাকে এবং আমরা সেগুলোর সাথে কিছু ইভেন্ট হ্যান্ডল করতে চাই। একাধিক ইভেন্ট রান করতে, আমরা ইভেন্ট হ্যান্ডলারে একাধিক আর্গুমেন্ট পাস করতে পছন্দ করি।
উদাহরণ
এই উদাহরণে, আমরা একটি ফ্রেমে একাধিক বাটন উইজেট তৈরি করেছি, এবং উইজেটের নাম আর্গুমেন্ট হিসেবে পাস করে বিভিন্ন ইভেন্ট হ্যান্ডল করব। একবার বাটনে ক্লিক করলে, এটি লেবেল উইজেট আপডেট করবে এবং så videre।
# Tkinter লাইব্রেরি ইম্পোর্ট
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
# Tkinter ফ্রেমের ইনস্ট্যান্স তৈরি
win = Tk()
# জিওমেট্রি ডিফাইন
win.geometry("750x250")
# বিভিন্ন অপারেশনের জন্য ইভেন্ট হ্যান্ডলার ডিফাইন
def event_low(button1):
label.config(text="This is Lower Value")
def event_mid(button2):
label.config(text="This is Medium Value")
def event_high(button3):
label.config(text="This is Highest value")
# একটি লেবেল তৈরি
label = Label(win, text="", font=('Helvetica 15 underline'))
label.pack()
# একটি ফ্রেম তৈরি
frame = Frame(win)
# ফ্রেমে বাটন তৈরি
button1 = ttk.Button(frame, text="Low", command=lambda: event_low(button1))
button1.pack(pady=10)
button2 = ttk.Button(frame, text="Medium", command=lambda: event_mid(button2))
button2.pack(pady=10)
button3 = ttk.Button(frame, text="High", command=lambda: event_high(button3))
button3.pack(pady=10)
frame.pack()
win.mainloop()
আউটপুট
উপরোক্ত কোড রান করলে Low, Medium, এবং High বাটন সমৃद्ध একটি উইন্ডো প্রদর্শিত হবে। বাটনে ক্লিক করলে উইন্ডোতে কিছু লেবেল টেক্সট দেখাবে।
