সপ্তাহ ৭ গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ও বাটন-উইন্ডোর ম্যাজিক!
সপ্তাহ ৭ গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ও বাটন-উইন্ডোর ম্যাজিক!

সপ্তাহ ৭: গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) ও বাটন-উইন্ডোর ম্যাজিক!

আমরা যখন কম্পিউটারে কোনো সফটওয়্যার বা গেম খেলি, তখন কি আমরা কালো স্ক্রিনে কোড টাইপ করি? একদমই না! আমরা মাউস দিয়ে সুন্দর সুন্দর বাটনে ক্লিক করি, বক্সে নাম লিখি এবং রঙিন স্ক্রিন দেখতে পাই। একেই বলা হয় GUI (Graphical User Interface) বা গ্রাফিক্যাল ইউজার ইন্টারফেস।

পাইথনে এই সুন্দর সুন্দর উইন্ডো আর বাটন বানানোর জন্য আগে থেকেই একটি চমৎকার লাইব্রেরি দেওয়া থাকে, যার নাম tkinter (টিকিন্টার)। এর জন্য ইন্টারনেট থেকে নতুন কিছু ইনস্টল করারও প্রয়োজন নেই!

🏗️ একটি জিইউআই (GUI) অ্যাপ কীভাবে তৈরি হয়?

টিকিন্টারে একটি অ্যাপ বানানোর ধাপগুলো খুব সহজ: ১. একটি মূল উইন্ডো বা বক্স তৈরি করা। ২. উইন্ডোর ভেতর বাটন, টেক্সট বা লেবেল যোগ করা। ৩. একটি ‘মেন লুপ’ (Main Loop) চালানো, যা উইন্ডোটিকে স্ক্রিনে ধরে রাখে।

🎮 আজকের কোডিং প্রজেক্ট: আমার প্রথম বাটন অ্যাপ

চলো, আমরা একটি উইন্ডো বানাই যেখানে একটি বাটন থাকবে। বাটনে ক্লিক করলেই স্ক্রিনের লেখা বদলে যাবে এবং তোমাকে স্বাগত জানাবে!

Python

import tkinter as tk

# ১. মূল উইন্ডো বা স্ক্রিন তৈরি করা
window = tk.Tk()
window.title("ক্ষুদে ডেভলপারের উইন্ডো")
window.geometry("400x300") # উইন্ডোর সাইজ (প্রস্থ x উচ্চতা)
window.configure(bg="#F0F8FF") # ব্যাকগ্রাউন্ডের রঙ (Alice Blue)

# বাটনে ক্লিক করলে কী হবে, তার জন্য একটি ফাংশন
def button_clicked():
    # লেবেলের লেখা পরিবর্তন করা
    welcome_label.config(text="🎉 ওয়াও! তুমি বাটনটি ক্লিক করেছ!\nতুমি এখন একজন GUI ডেভেলপার!", fg="green")

# ২. উইন্ডোর ভেতরে একটি লেবেল (টেক্সট) যোগ করা
welcome_label = tk.Label(
    window, 
    text="হ্যালো ক্ষুদে কোডার! নিচের বাটনে ক্লিক করো 👇", 
    font=("Arial", 14, "bold"),
    bg="#F0F8FF",
    fg="#333333"
)
welcome_label.pack(pady=30) # pady দিয়ে ওপর-নিচে ফাঁকা জায়গা তৈরি করা হয়

# ৩. উইন্ডোর ভেতরে একটি সুন্দর বাটন যোগ করা
magic_button = tk.Button(
    window, 
    text="ম্যাজিক বাটন ✨", 
    command=button_clicked, # বাটন চাপলে এই ফাংশনটি রান করবে
    font=("Arial", 12, "bold"),
    bg="#4CAF50", # বাটনের ব্যাকগ্রাউন্ড কালার (সবুজ)
    fg="white",   # লেখার কালার
    padx=10,      # বাটনের ভেতরের ফাঁকা জায়গা
    pady=5
)
magic_button.pack(pady=10)

# ৪. উইন্ডোটি স্ক্রিনে ধরে রাখার জাদুকরী কমান্ড
window.mainloop()

🧠 আজকের ছোট্ট চ্যালেঞ্জ (Challenge of the Week)

চ্যালেঞ্জ: ওপরের কোডটি তোমার কম্পিউটারে রান করো। একটি সুন্দর উইন্ডো পপ-আপ করবে! এবার তোমার চ্যালেঞ্জ হলো—কোডের ভেতর window.geometry("400x300") পরিবর্তন করে ("500x500") করো এবং magic_button-এর bg="purple" করে দেখো তো উইন্ডোর সাইজ আর বাটনের রঙ পরিবর্তন হয় কিনা!

পরবর্তী ধাপ: ৭ম সপ্তাহের এই প্রথম জিইউআই (GUI) অভিজ্ঞতার পর কি আমরা একটি চমৎকার ফিচার ইমেজ তৈরি করব, নাকি সরাসরি ৮ম সপ্তাহের সমাপনী প্রজেক্ট—একটি সম্পূর্ণ গ্রাফিক্যাল ক্যালকুলেটর অ্যাপ তৈরিতে চলে যাবো?