আমাদের কথা খুঁজে নিন

   

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

আমার প্রিয় টেকটিউনসের পাঠকরা , আশা করি সবাই ভাল আছেন । আজ বেশ কিছু দিন পর আমি আপনাদের মাঝে পাইথন নিয়ে আসলাম । আমরা আজ দেখব কীভাবে পাইথনে মেনুবার তৈরী করতে হয় । এটি একটা খুবই সহজ কাজ । আপনারা আজই এই সম্পর্কে মোটামুটি জ্ঞান লাভ করবেন ।

তো চলুন দেখে নেওয়া যাক এই কাজের কৌশল । প্রথমে নিচের চিত্র টা দেখুন , এইটা এখন আপনাদের তৈরী করে দেখাব ।

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

সবই বুঝতে পারবেন । আমি প্রথম থেকে ধাপে ধাপে সবই বর্ননা করব । দেখুন , প্রথমে আমরা tkinter মডিউলটা ইমপোর্ট করেছি । এরপর আমরা একটা ফাংশন তৈরী করেছি আগের পর্বের মত করে যেটা একটা yesno ডায়লগ বক্স তৈরী করবে ।
এরপর আমরা আরেকটি ফাংশন তৈরী করেছি donothing নামের যেটা f = Toplevel(tt) কোড এর মাধ্যমে একটা গুই সৃষ্টি করবে ।

এর পরের লাইনে আমি একটা কোড প্লেস করেছি যেটা উপরের গুই এর মাঝে একটা বাটন সৃষ্টি করেছে যার টেক্সক হবে techtunes G । এবং আমরা command = hello কোড দ্বারা বলে দিয়েছি যে এর বাটনে ক্লিক করলে এটি আমাদের উপরের তৈরী hello ফাংশনের ইয়েস নো উইন্ডোটি সো করবে । ব্যাস , আমাদের প্রাথমিক কাজ শেষ । এবার হল মেনু আইটেম তৈরী করার পালা । আসুন , দেখি কীভাবে এটি তৈরী করতে হয় ।


tt = Tk() দ্বারা আমরা আমাদের উপরের চিত্রের মূল গুই টা তৈরী করেছি । এরপর menu নামের একটা ভ্যারিয়েবল নিয়ে আমরা তার ভেতর Menu(tt) কোড দ্বারা মেনু তৈরী সূচনা করেছি । এর পর filemenu = Menu(menubar, tearoff=0) দ্বারা আমরা filemenu নামের একটা ভ্যারিয়েবল নিয়ে তারমধ্যে আমাদের মেনুবার , অর্থাৎ মেনুতে াক্লক করলে তার নিচে যে অপশন গুলো সো করবে সেই গুলো লেখা শুরু করার কথা ডিক্লেয়ার করেছি । এখানে আপনারা tearoff=0 এর মানেটা জানেন না । এটি হল একটা কমান্ড যেটি মেনু গুলো file লেখার কত নিচে থেকে শুরু হবে সেটাই বলে দেয় ।

এর মান ০ হলে file লেখার ঠিক নিচে থেকেই ড্রপডাউন মেনু গুলো সো করবে । আর এর মান ০ এর বেশী যেমন : ১ ২ ৩ প্রভৃতি হলে ড্রপডাউন মেনু গুলো একটা নির্দিষ্ট ডিসট্যান্স থেকে সো করবে । নিজে মান কম বেশী করে দেখুন , বিষয়টা ক্লিয়ার হবে ।
এরপর filemenu.add_command(label="New", command=donothing) কমান্ড দ্বারা আমরা আমাদের গুই তে প্রথম মেনু আইটেম যুক্ত করেছি । দেখুন , আপনারা যখন কোন মেনু আইটেম যুক্ত করতে যাবেন তখন আপনাদের ভ্যারিয়েবলের নামের পর . চিহ্ন দিয়ে add_command কোডটি লিখতে হবে ।

এরপর আমরা এর লেবেল বা নাম দিয়েছি New , এবং এটিতে ক্লিক করলে যা ঘটবে তা আমরা command=donothing দ্বারা বলে দিয়েছি যে এটাতে ক্লিক করলে donothing ফাংশন টি নিয়ে এসে সো কর । ব্যাস । এখন আপনারা যদি donothing এর স্থানে অন্য কোন ফাংশন তৈরী করে সেটিকমান্ডে দেন তা হলে সেই ফাংশনটিই এখানে কাজ করবে ।
যাই হো , এভাবে আমরা ফাইল মেনুর ভিতর সবগুলো মেনু আইটেম তৈরী করে ফেললাম । আপনারা যখন এই কাজ করবেন , তখন এক একটা মেনু আইটেম এর জন্য এক একটা আলাদা ফাংশন ইউজ করতে পারেন ।

এখন দেখুন আমরা exit মেনু আইটেম এর কমান্ড কিন্তু আলাদা দিয়েছি । এই tt.quit দ্বারা এই প্রোগ্রামটির কাজ সমাপ্ত ঘোষনা করা হচ্ছে ।
add_separator() এই কোড টার কাজ হল পর পর দুটি মেনু আইটেমের মধ্যে একটা দাগ বা সেপারেটর সৃষ্টি করা , যেমন উপরের চিত্রে ফাইল মেনুর মধ্যে খেয়াল করু exit মেনুর উপরে একট সেপারেটর আছে । এখন menubar.add_cascade(label="File", menu=filemenu) কোডটিউ হল সবথেকে গুরুত্বপূর্ন কোড । এই কোডের কাজ হল আমার এতক্ষন filemenu নামের ভ্যারিয়েবলের আন্ডারে যতগুলো সাবমেনু বা মেনু আইটেম তৈরী করে আসলাম সেগুলোকে মেনুবারে যোগ করে দেওয়া ।

এখানে আমরা এই মেনুর নাম দিয়েছি File । এখন আমাদের মেনু তৈরীর কাজ শেষ । এভাবে বাদবাকী সবগুলো মেনুর সাবমেনু তৈরী করে ফেলুন ও সেগুলোকে মেনুবারে এড করে দিন ।
tt.config(menu=menubar)
সর্বশেষ যে কোডটা আপনাদের বলব সেটা হল উপরের টা । এটাও খুবই গুরুত্ত্বপূর্ন কাজ ।

এর কাজ হল আপনি এতক্ষণ ধরে যে মেনু , সাবমেনু ও ফাংশন গুলো তৈরী করলেন সেগুলোকে পাইথন গুই এর ভিতর ঠিক ঠাক মত প্লেস করে কাজ করানো । এই হল আমার আজকের বিষয় । এখন এই কোডগুরোকে বাস্তব সম্মত ভাবে ইউজ করতে চাইলে পাইথনের ফাইলের কাজ ভালভাবে জানুন । ফাইল ওপেন , ক্লোজ , রাইট , ডিলিট এইসব ফাংশন তৈরী করে নিয়ে গুই এর মধ্যে কমান্ড দিয়ে দিন । ব্যাস , কাজ শেষ ।

এখন দেখুন আমাদের সম্পূর্ন কাজ । আপনারা এবার এটিকে পাইথনের Run module অপশনে গিয়ে রান করান । এবং যেকোন মেনুতে ক্লিক করুন ও তারপর বাটনে ক্লিক করুন । তারপর আপনাদের সামনে এমন একটা চিত্র আসবে :

সবাই ভাল থাকুন । সবাইকে ধন্যবাদ ।

আর কতদিন পরে আপনাদের মাঝে আসতে পারব তা বলতে পারছি না । সেই পর্যন্ত সবাই ভাল থাকবেন ।

সোর্স: http://www.techtunes.com.bd/     দেখা হয়েছে বার

এর পর.....

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।

প্রাসঙ্গিক আরো কথা
Related contents feature is in beta version.