আজই আমি আপনাদের পাইথনের 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 প্রোগ্রামিং এ অনেকে সমস্যায় পড়েন ।বেশীভোগ ক্ষেত্রে দেখা যায় সমস্যা গুলো খুবই ছোট । তবুও ধরতে পারছেন না । এরকম সমস্যা হলে জানাবেন ।
atorvastatin 40mg us buy atorvastatin 10mg pill buy lipitor 20mg pills
lipitor online buy buy atorvastatin 20mg pill buy lipitor sale
order cipro 500mg pills – cephalexin 500mg uk order augmentin 375mg for sale
purchase baycip online cheap – keflex online augmentin 1000mg drug
ciprofloxacin online – order septra online augmentin for sale online
glycomet 1000mg drug – metformin brand lincocin 500mg cheap
order retrovir sale – irbesartan pill buy zyloprim 300mg generic
order clozapine without prescription – famotidine 20mg brand pepcid 40mg canada
buy generic retrovir 300mg – roxithromycin 150 mg canada zyloprim 300mg oral
clozaril 50mg over the counter – buy famotidine tablets buy pepcid 40mg pills
cost quetiapine 50mg – buy fluvoxamine for sale eskalith pills
clomipramine without prescription – purchase amoxapine online cheap order sinequan 25mg pills
seroquel over the counter – cost fluvoxamine 50mg eskalith online buy
cheap hydroxyzine – buspin oral buy amitriptyline 10mg generic
cost anafranil 25mg – buy doxepin 25mg for sale brand sinequan 25mg
order atarax 25mg without prescription – atarax 10mg tablet purchase endep generic
cheap augmentin – cheap linezolid ciprofloxacin 500mg uk
cheap amoxil online – buy axetil no prescription cipro pill
buy augmentin 625mg online – oral zyvox 600mg buy generic ciprofloxacin online
cheap amoxil pill – order cefuroxime 500mg sale buy cipro generic
buy cleocin without prescription – chloramphenicol buy online buy chloromycetin medication
azithromycin where to buy – zithromax sale ciprofloxacin buy online
zithromax sale – order ofloxacin for sale ciplox price
cleocin 300mg cheap – suprax 200mg us cheap chloromycetin tablets
ivermectin 12mg for sale – buy ivermectin 12 mg cefaclor 250mg pill
albuterol uk – promethazine 25mg usa buy generic theo-24 Cr