ঈদ মোবারক । সবাইকে ঈদের শুভেচ্ছা । আমার প্রিয় বন্ধুরা , আশা করি সবাই ভাল আছেন । আমিও ভাল আছি । এর আগে সময়ের অভাবে আমি অনেক দিন পাইথন নিয়ে লিখতে পারি নি । তবে এই পূজা ও ঈদের ছুটিতে আবার লিখতে বসলাম । আগের পর্বে আমি আপনাদে র কিছু বইএর সন্ধান দিয়েছিলাম । সেখান থেকে আমার পাইথন চেইন টিউনের সম্মানিত পাঠক রাজ ভাই আমাকে আজকের লেখার প্রসংগে মনে করিয়ে দেন । এছাড়া সজল ভাই, আশিকুর ভাই সহ আরও অনেকে এই টিউটোরিয়াল লেখার ব্যাপারে আমাকে অনেক উৎসাহ দিয়েছেন । সেজন্য তাদেরকে আমার অন্তরের অন্তরস্থল থেকে ধন্যবাদ । পাইথনের একটা সাইড আমরা মোটেই আলোচনা করিনি । সেটা হল GUI প্রোগ্রামিং । আপনারে এতদিন যেসব প্রোগ্রাম তৈরী করে এসেছেন সবই শুধু লেখা আর লেখা । ভাবছেন , প্রোফেশনাল প্রোগ্রামারদের মত প্রোগ্রাম আর কবে তৈরী করব । চিন্তার কোন কারণ নেই । আপনারা পারবেন । আজই আমি আপনাদের পাইথনের 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 প্রোগ্রামিং এ অনেকে সমস্যায় পড়েন ।বেশীভোগ ক্ষেত্রে দেখা যায় সমস্যা গুলো খুবই ছোট । তবুও ধরতে পারছেন না । এরকম সমস্যা হলে জানাবেন ।
সবাইকে ধন্যবাদ । এরপরে আবার কবে দেখা হবে বলতে পারছি না । তবে আশা করা যায় ২৬ তারিখ পর্যন্ত আপনদের সাথে আছি । কারণ ভার্সিটি খুলবে ২৭ তারিখে ।সবাই ভাল থাকবেন ।
আমি অরিন্দম পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 81 টি টিউন ও 316 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 20 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
মানসিক ভাবে দূর্বল । কোন কাজই কনফিডেন্টলি করতে পারি না , তবুও দেখি কাজ শেষ পর্যন্ত হয়ে যায় । নিজের সম্পর্কে এক এক সময় ধারণা এক এক রকম হয় । আমার কোন বেল ব্রেক নেই । সকালে যে কাজ করব ঠিক করি , বিকালে তা করতে পারি না । নিজের...
techtunes মেডেরেটার রা কি ঘুমিয়ে আছে ।