মজার ও সহজ প্রোগ্রামিং, পাইথন প্রোগ্রামিং [পর্ব-১৩] :: গ্রাফিক্যাল ইউজার ইন্টারফেস সহ সফটওয়্যার তৈরী

11
495

আজই আমি আপনাদের পাইথনের GUI প্রোগ্রামিং এর সাথে পরিচয় করিয়ে দেব । এটা খুবই সিম্পল একটা জিনিস । ভয় পাবার কোন কারণ নেই । GUI এর সম্পূর্ণ অর্থ হল : Graphical User Interface । এর মাধ্যমে আপনারা আজ থেকেই পাইথনের গ্রাফিক্স এর কাজ করা শুরু করতে পারবেন ।তো চলুন শুরু করা যাক । প্রথমেই একটা উদাহরণ ।সবাই নিচের কোডটি লিখুন :

import tkinter
g = tkinter.Tk()
g.mainloop()

এবার এটিকে পাইথন শেলের run module গিয়ে গিয়ে রান করান । দেখুন নিচের মত একটা উইন্ডো শো করছে ।

এখানে আমরা প্রথমে tkinter নামে একটা মডিউল ইমপোর্ট করেছি ও g নামে একটা ভ্যারিয়েবল নিয়ে উইন্ডোটির কোড লিখেছি । এই মাঝের লাইনের কোডটিই এই উইন্ডো টি সৃষ্টি করেছে । আর g.mainloop() টা হল সব সময় গ্রাফিক্সের কোডের শেষে বসবে । এর অর্থ হল , গ্রাফিক্সের কাজ শেষ , এবার কোড লেখা শুরু কর ।

আপনারা সবাই নীচের ছবিটি খেয়াল করুন । এই আমি কেবল মাত্র আপনাদের জন্য তৈরী করলাম । এতে পাইথনের GUI প্রোগ্রামিং এর মাধ্যমে যা যা করা যায় তার প্রায় সব আছে । তবে কিছু বাদও আছে ।

এবার নিচের কোডগুলি দেখুন । এই কোড হল উপরের গুই টার কোড । এখন আমরা এই কোড গুলো বিশ্লেষন করে দেখব কীভাবে আমরা এই রকম একটা গুই তৈরী করতে পারি ।

import tkinter
def hello():
    tkinter.messagebox.showinfo("say hello","hello world")
top = tkinter.Tk()
top.title("Techtunes")
lbl = tkinter.Label(top, text = "Techtunes")
m = tkinter.Canvas(top, bg="blue", height=250, width=300)
c = tkinter.Checkbutton(top, text = "Techtunes")
b = tkinter.Checkbutton(top, text = "Python")
d = tkinter.Button(top, text ="Techtunes")
s = tkinter.Spinbox(top, from_=0, to=10)
h = tkinter.Button(top, text = "Python Tutorial",command = hello)
e = tkinter.Entry(top)
r = tkinter.Radiobutton(top, text = "Python Tutorial", value = 1)
lbl.pack()
m.pack()
c.pack()
b.pack()
d.pack()
s.pack()
h.pack()
e.pack()
r.pack()
top.mainloop()

সর্বপ্রথমে দেখুন , আমরা পাইথনের একটা মডিউল ইমপোর্ট করেছি যার নাম “tkinter” । এটি হল পাইথনের গ্রফিক্সের কাজের জন্য অপরিহার্য একটা মডিউল । আমরা যখনই কোন গুই বিল্ডিংএর কাজ করব , তখনআ এই মডিউলটা আমাদের ইমপোর্ট করতে হবে । এরপর আমরা একটা ফাংশন তৈরী করেছি যে বিষয়ে একটু পরে আসছি ।

এরপর আমি লিখেছি “top = tkinter.Tk() ” । এই টি লিখেছি মূলত পাইথনে একটি উইন্ডো তৈরী করার জন্য । আপনারা কোন উইন্ডো তৈরী করতে হলে এটা লিখে নিবেন । এখানে top হল একটি ভ্যরিয়েবল । আপনি top এর বদলে যেকোন কিছু লিখতে পারেন । যাই হোক পরের পর্যায়ে আসি ।

top.title(“Techtunes”) কোডটি লেখার মাধ্যমে আমরা আমাদের উইন্ডোটির একটি নাম বা টাইটেল দিয়েছি । ছবিতে টাইটেল টি খেয়াল করুন । এখানে টাইটেল হল Techunes ।

এরপর আমরা lbl নামক একটি ভ্যরিয়েবল নিয়েছি যার মধ্যে আমাদের GUI এর LABEL টা র ডাটা থাকবে । এরপর tkinter.Label(top, text = “Techtunes”) এর মাধ্যমে আমরা লেবেলের নাম এবং লেবেল টি কোন গুউ তে থাকবে তা বলে দিয়েছি । যেহেতু এখানে আমাদের গুই শুধুমাত্র ১ টি তাই আমরা তার নামই বলেছি । সেটি হল top । গুই এর মধ্যে যেকোন কিছু যুক্ত করতে হলে এমন ভাবে লিখতে হবে । ধরুন আমরা গুই এর মধ্যে লেবেল টা যুক্ত করেছি । তাই লিখতে হবে tkinter.Label(guiname, text =” “) ।text এর মধ্যে আমরা যা লিখব তাই লেবেল এর টেক্সট হিসেবে সো করবে । শুধু লেবেল এর ক্ষেত্রে নয় । সব গুলোর ক্ষেত্রেই । নীচের গুলো দেখলে বিষয় টা আরও ক্লিয়ার হবে । আশা করি বিষয় টা ক্লিয়ার হয়েছে । যা যুক্ত করবেন তার প্রথম অক্ষর টি সব সময় ক্যাপিটাল লেটার এ দিবেন ।
এরপর দেখুন আমরা একটা ক্যানভাস তৈরী করেছি , এবং তার ব্যাকগ্রাউন্ড কালার ও সাইজ দিয়ে দিয়েছি । সেম ভাবে প্রাকটিস করুন ।
এখানে = চিহ্নের বামপাশে যে অক্ষর গুলো দেখছেন তার সব গুলোই ভ্যরিয়েবল । আপনারা নিজের ইচ্ছা মত না বসাতে পারেন ।

এরপর দেখুন c ও d নামক দুটি ভ্যারিয়েবল এর মাধ্যমে আমরা দুটি চেকবক্স তৈরী করেছি । কোড দেখার সাথে সাথে চিত্র খেয়াল করুন । তারপ d নামক একটা ভ্যরিয়েবল নিয়ে আমরা একটি বাটন ও তৈরী করেছি । এই কোড লেখার পদ্ধতি গুলো খেযাল করুন ।
s ভ্যরিয়েবলের মাধ্যমে আমরা একটা লিস্ট বক্স নিয়েছি । লিস্টবক্স না বুঝতে পারলে চিত্রে দেখুন । from_=0, to=10 কোডের মাধ্যমে আমরা এর সীমাও নির্দিষ্ট করে দিয়েছি । আপনি ইচ্ছা করলে সীমা আরও বাড়িয়ে দিতে পারেন।

এবার দেখুন আমরা h নামক এটা ভ্যরিয়েবল নিয়েছি একটা বাটন এর জন্য । ভাবছেন , বাটন তো আগেও তৈরী করলাম , তাহলে আবার কেন ? হ্যা । এই বাটন হল আলাদা । এটি তে ক্লিক করলে এটি কিছু বলবে । আর কী বলবে তা আমরা বলে দিয়েছি আমাদের সেই প্রথমের hello ফাংশনে । এই ফাংশনে আমরা tkinter.messagebox.showinfo(“say hello”,”hello world”) কোড এর মাধ্যেমে । এখানে আমরা এই উইন্ডো টি তৈরী করতে messagebox নামক একটা কোডের সাহায্য নিয়েছি । আর সবশেষে বলে দিয়েছি যে এই বাটনে কেউ ক্লিক করলে উপরের তৈরী উইন্ডোটি সো করতে command = hello কোড দ্বারা ।

বলেছি যে hello world লেখা একটি উইন্ডো তৈরী করতে যার নাম হবে Say hello। আর সেই ফাংশনটি আমরা ইউজ করেছি এখানে এসে । এই ফাংশনে আপনারা showinfo এর স্থলে আর ও showwarning(), showerror (),, askquestion(), askokcancel(), askyesno (), askretrycancel () প্রভৃতি ব্যবহার করে দেখতে পারেন ।

তারপর আমরা e নামক একটা ভ্যরিয়েবল এর মাধ্যমে একটা এনন্ট্রি বক্স তৈরী করেছি । একে স্পিন বক্স ও বলা হয় ।
এরপর আমরা তৈরী করেছি একটি রেডিও বাটন ও তার নাম ও ভ্যালু দিয়েছি । এখানেই শেষ নয় । এ শুধু মাত্র উপরের জিনিস গুলো তৈরী হল । এবার এদের পাইথন গুই এর মধ্যে বসানোর জন্য আমরা যে কয়টি ভ্যারিয়েবল নিয়েছি সবকয়টিকে variable.pack() এই ভাবে পর পর লিখে গিয়েছি ।

এবার আমাদের কাজ শেষ । এবার এই কোডগুলো পাইথন এ রান মডিউল অপশনে গিয়ে রান করান । আর দেখুন আপনার কাজ । পাইথনে আরও কিছূ গুই এর কাজ আঝে , যেমন : মেনু তৈরী করা , বিভিন্ন ফ্রেম তৈরী প্রভৃতি । নিটি সার্চ দিয়ে একটু কষ্ট করে খোজ করে নিন । বিষয়গুলো খুবই সহজ । এরপর আশা করি বুঝতে পারবেন । আর পরের পর্বে আমি আপনাদের যেকোন একটা গ্রফিক্স প্রোগ্রাম তৈরী করে দেখাব ।

নোটিশ : গুই প্রোগ্রামিং যদি আপনি পাইথন এর পুরান কোন ভার্সনের IDLE তে ট্রই করেন তবে মিলবে না । আর ক্যাপিটাল লেটার ও স্মলার লেটার টা ভালভাবে দেখে লিখুন ।

আর কোন সমস্যা হলে বলবেন । GUI প্রোগ্রামিং এ অনেকে সমস্যায় পড়েন ।বেশীভোগ ক্ষেত্রে দেখা যায় সমস্যা গুলো খুবই ছোট । তবুও ধরতে পারছেন না । এরকম সমস্যা হলে জানাবেন ।

11 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here