লেবেল, বাটন ও টেক্সটবক্স (পর্ব-৯)


আমরা ছোট একটি ফর্মে লেবেল, টেক্সটবক্স ও বাটনের উদাহরণ দেখব আজকের পর্বে। নিচের সংকেতটি দেখুন:

def showtext(buttontext):

if buttontext==”OK”:

entry.insert(t.END,”You’ve pressed “+str(buttontext))

else:

entry.delete(0,t.END)

import tkinter as t

root=t.Tk()

t.Button(root,text=”OK”,

command=lambda x=”OK”: showtext(x)).grid(row=1,column=0)

t.Button(root,text=”Clear All”,

command=lambda x=”CA”: showtext(x)).grid(row=1,column=1)

label=t.Label(root, text=”This will show your Text”)

label.grid(row=0,column=0)

entry=t.Entry(root)

entry.grid(row=0,column=1)

root.mainloop()

প্রথমে একটি ফাংশন রয়েছে, যেটি কোনো বাটনে ক্লিক করা হলে তার ওপর আউটপুট দেবে। মূল কোডটি দেখুন, import tkinter as t দিয়ে tkinter টুলকিট t ভ্যারিয়েবলে নেওয়া হয়েছে। t.Tk() ব্যবহার করলে আপনি একটি ফর্ম দেখতে পাবেন, যা root ভ্যারিয়েবলে রাখা হয়েছে। এখন আপনি root -এর মধ্যে বাটন, লেবেল, টেক্সটবক্স (এরা কন্ট্রোল হিসাবে পরিচিত) যোগ করতে পারবেন। পরের দুটি লাইনে দুটি বাটন যোগ করা হয়েছে। তারপর রয়েছে একটি লেবেল এবং তার পরে টেক্সটবক্স যোগ করার জন্য দুটি লাইন লেখা হয়েছে। টেক্সটবক্সের কোড বাদে বাকি সবগুলোতেই text কথাটি রয়েছে। text হচ্ছে একটি প্রোপার্টি, প্রতিটি কন্ট্রোলেরই এ রকম প্রোপার্টি রয়েছে। তবে কন্ট্রোলভেদে তা ভিন্ন ভিন্ন হতে পারে। বাটনের একটি প্রোপার্টি হচ্ছে command, যা ওই বাটনটি কি কাজ করবে তা নির্দেশ করে। কমান্ড হিসেবে ফাংশন ব্যবহার করা হয়। তাই ওপরের ফাংশনটি লেখা হয়েছে। দেখুন, lambda ব্যবহার করা হয়েছে, এটি বাটনের ওপর ভিত্তি করে ওপরের ফাংশনের একটি প্রতিরূপ করবে। lambda দিয়ে প্রয়োজনমতো যেকোনো লাইনে নতুন ফাংশন লেখা যায়। কোন কন্ট্রোল কোথায় বসবে তা নির্ধারণ করা হয় সারি ও কলামের হিসাবের মাধ্যমে। দেখুন প্রতি কন্ট্রোলের একটি row এবং column রয়েছে।