ভূমিকা
টকইন্টার (Tkinter) পাইথনের স্ট্যান্ডার্ড GUI লাইব্রেরি। বাটন উইজেট (Button widget) ব্যবহারকারীর ক্লিক বা ইভেন্ট হ্যান্ডল করার জন্য ব্যবহৃত হয়। সাধারণত বাটন তৈরি করার সময় command প্যারামিটারের মাধ্যমে একটি ফাংশন বাইন্ড করা হয়। কিন্তু কখনও কখনও প্রোগ্রাম রান হওয়ার সময় (runtime) সেই বাটনের ইভেন্ট হ্যান্ডলার বা কমান্ড পরিবর্তন করার দরকার পড়ে। এই নিবন্ধে আমরা দেখব কিভাবে configure() মেথড ব্যবহার করে একটি বাটনের কমান্ড ডাইনামিকভাবে পরিবর্তন করা যায়।
উদাহরণ কোড
# tkinter লাইব্রেরি ইম্পোর্ট
from tkinter import *
# Tkinter ফ্রেমের ইনস্ট্যান্স তৈরি
win = Tk()
win.geometry("750x250")
# প্রথম ফাংশন: টেক্সট লেবেল দেখাবে এবং বাটনের কমান্ড পরিবর্তন করবে
def text_label():
Label(win, text="Woohoo! An Event has occurred!", font=('Helvetica 10 bold')).pack(pady=20)
# বাটন কনফিগার করে নতুন ইভেন্ট হ্যান্ডলার সেট করা
button.configure(command=close_win)
# দ্বিতীয় ফাংশন: উইন্ডো বন্ধ করবে
def close_win():
win.destroy()
# বাটন উইজেট তৈরি, প্রাথমিক কমান্ড = text_label
button = Button(win, text="Click", font=('Helvetica 10 bold'), command=text_label)
button.pack(side=TOP)
win.mainloop()
আউটপুট ব্যাখ্যা
- প্রোগ্রাম রান করলে একটি উইন্ডো খুলবে যার মধ্যে "Click" লিখা একটি বাটন থাকবে।
- প্রথমবার বাটনে ক্লিক করলে একটি লেবেল দেখাবে "Woohoo! An Event has occurred!" এবং বাটনের কমান্ড
close_winফাংশনে পরিবর্তন হয়ে যাবে। - দूसरीবার একই বাটনে ক্লিক করলে
close_winফাংশন কল হবে এবং উইন্ডো বন্ধ হয়ে যাবে (TCL ইন্টারপ্রিটার টার্মিনেট হবে)।
মূল পয়েন্টস
button.configure(command=new_function)ব্যবহার করে রানটাইমে বাটনের কমান্ড পরিবর্তন করা যায়।এটি স্টেট-ভিত্তিক UI তৈরি করার জন্য খুব কার্যকর, যেখানে একই বাটন ভিন্ন সময়ে ভিন্ন কাজ করবে।
win.destroy()মেথড মূল উইন্ডো বন্ধ করে এবং অ্যাপ্লিকেশন থেকে বের হয়।