টু-ডু লিস্ট অ্যাপ

প্র্যাকটিস প্রোজেক্টস - পাইথন প্রোগ্রামিং (Python Programming) - Computer Programming

477

Python এর Tkinter লাইব্রেরি ব্যবহার করে একটি টু-ডু লিস্ট অ্যাপ তৈরি করা যায়। এই অ্যাপের মাধ্যমে ব্যবহারকারীরা বিভিন্ন টাস্ক যোগ, সম্পন্ন, ও মুছে ফেলতে পারবেন। এখানে Tkinter ব্যবহার করে একটি সাধারণ টু-ডু লিস্ট অ্যাপ তৈরির উদাহরণ দেয়া হলো।


প্রজেক্ট: টু-ডু লিস্ট অ্যাপ

বর্ণনা: এই অ্যাপটিতে ব্যবহারকারী টাস্ক যোগ করতে পারবেন এবং যেকোনো টাস্ক সম্পন্ন হলে সেটি সম্পন্ন হিসেবে মার্ক করতে পারবেন। প্রয়োজনে টাস্কগুলো মুছে ফেলতেও পারবেন।


ধাপ ১: Tkinter ইম্পোর্ট এবং উইন্ডো সেটআপ

import tkinter as tk
from tkinter import messagebox

# মেইন উইন্ডো তৈরি করা
root = tk.Tk()
root.title("To-Do List App")
root.geometry("400x500")

ধাপ ২: টাস্ক যুক্ত করার ফাংশন

# টাস্ক যোগ করা
def add_task():
    task = task_entry.get()
    if task != "":
        task_listbox.insert(tk.END, task)
        task_entry.delete(0, tk.END)
    else:
        messagebox.showwarning("Warning", "You must enter a task.")

ধাপ ৩: টাস্ক মুছে ফেলার ফাংশন

# টাস্ক মুছে ফেলা
def delete_task():
    try:
        selected_task_index = task_listbox.curselection()[0]
        task_listbox.delete(selected_task_index)
    except IndexError:
        messagebox.showwarning("Warning", "You must select a task to delete.")

ধাপ ৪: সকল টাস্ক মুছে ফেলার ফাংশন

python

Copy code

# সকল টাস্ক মুছে ফেলা
def delete_all_tasks():
    task_listbox.delete(0, tk.END)

ধাপ ৫: টাস্ক সম্পন্ন হিসেবে মার্ক করা

# টাস্ক সম্পন্ন হিসেবে মার্ক করা
def mark_task_completed():
    try:
        selected_task_index = task_listbox.curselection()[0]
        task = task_listbox.get(selected_task_index)
        task_listbox.delete(selected_task_index)
        task_listbox.insert(tk.END, task + " ✅")
    except IndexError:
        messagebox.showwarning("Warning", "You must select a task to mark as completed.")

ধাপ ৬: উইজেট এবং বোতাম তৈরি

# এন্ট্রি বক্স তৈরি করা
task_entry = tk.Entry(root, width=30, font=("Arial", 14))
task_entry.pack(pady=10)

# টাস্ক লিস্টবক্স তৈরি করা
task_listbox = tk.Listbox(root, width=30, height=15, font=("Arial", 14), selectmode=tk.SINGLE)
task_listbox.pack(pady=10)

# বোতাম তৈরি এবং যুক্ত করা
button_frame = tk.Frame(root)
button_frame.pack(pady=10)

add_task_button = tk.Button(button_frame, text="Add Task", command=add_task, width=12)
add_task_button.grid(row=0, column=0, padx=5, pady=5)

delete_task_button = tk.Button(button_frame, text="Delete Task", command=delete_task, width=12)
delete_task_button.grid(row=0, column=1, padx=5, pady=5)

delete_all_button = tk.Button(button_frame, text="Delete All Tasks", command=delete_all_tasks, width=12)
delete_all_button.grid(row=1, column=0, padx=5, pady=5)

mark_completed_button = tk.Button(button_frame, text="Mark Completed", command=mark_task_completed, width=12)
mark_completed_button.grid(row=1, column=1, padx=5, pady=5)

ধাপ ৭: মেইন লুপ চালানো

# মেইন লুপ চালানো
root.mainloop()

সম্পূর্ণ কোড একসাথে

import tkinter as tk
from tkinter import messagebox

# মেইন উইন্ডো তৈরি করা
root = tk.Tk()
root.title("To-Do List App")
root.geometry("400x500")

# টাস্ক যোগ করা
def add_task():
    task = task_entry.get()
    if task != "":
        task_listbox.insert(tk.END, task)
        task_entry.delete(0, tk.END)
    else:
        messagebox.showwarning("Warning", "You must enter a task.")

# টাস্ক মুছে ফেলা
def delete_task():
    try:
        selected_task_index = task_listbox.curselection()[0]
        task_listbox.delete(selected_task_index)
    except IndexError:
        messagebox.showwarning("Warning", "You must select a task to delete.")

# সকল টাস্ক মুছে ফেলা
def delete_all_tasks():
    task_listbox.delete(0, tk.END)

# টাস্ক সম্পন্ন হিসেবে মার্ক করা
def mark_task_completed():
    try:
        selected_task_index = task_listbox.curselection()[0]
        task = task_listbox.get(selected_task_index)
        task_listbox.delete(selected_task_index)
        task_listbox.insert(tk.END, task + " ✅")
    except IndexError:
        messagebox.showwarning("Warning", "You must select a task to mark as completed.")

# এন্ট্রি বক্স তৈরি করা
task_entry = tk.Entry(root, width=30, font=("Arial", 14))
task_entry.pack(pady=10)

# টাস্ক লিস্টবক্স তৈরি করা
task_listbox = tk.Listbox(root, width=30, height=15, font=("Arial", 14), selectmode=tk.SINGLE)
task_listbox.pack(pady=10)

# বোতাম তৈরি এবং যুক্ত করা
button_frame = tk.Frame(root)
button_frame.pack(pady=10)

add_task_button = tk.Button(button_frame, text="Add Task", command=add_task, width=12)
add_task_button.grid(row=0, column=0, padx=5, pady=5)

delete_task_button = tk.Button(button_frame, text="Delete Task", command=delete_task, width=12)
delete_task_button.grid(row=0, column=1, padx=5, pady=5)

delete_all_button = tk.Button(button_frame, text="Delete All Tasks", command=delete_all_tasks, width=12)
delete_all_button.grid(row=1, column=0, padx=5, pady=5)

mark_completed_button = tk.Button(button_frame, text="Mark Completed", command=mark_task_completed, width=12)
mark_completed_button.grid(row=1, column=1, padx=5, pady=5)

# মেইন লুপ চালানো
root.mainloop()

কোড ব্যাখ্যা

add_task ফাংশন: এটি নতুন টাস্ক অ্যাড করে task_entry থেকে টাস্কটি নিয়ে এবং task_listbox এ যোগ করে।

delete_task ফাংশন: task_listbox থেকে সিলেক্ট করা টাস্কটি মুছে ফেলে।

delete_all_tasks ফাংশন: এটি task_listbox থেকে সব টাস্ক মুছে ফেলে।

mark_task_completed ফাংশন: সিলেক্ট করা টাস্কটিকে সম্পন্ন হিসেবে মার্ক করে (টাস্ক শেষে ✅ যোগ করা হয়)।

GUI সেটআপ: Tkinter-এর বিভিন্ন উইজেট ব্যবহার করে এন্ট্রি ফিল্ড, লিস্টবক্স এবং বোতাম তৈরি করা হয়েছে এবং তাদের নির্দিষ্ট স্থানে বসানো হয়েছে।


উপসংহার

এই প্রোজেক্টটি Tkinter ব্যবহার করে একটি সাধারণ টু-ডু লিস্ট অ্যাপ তৈরির মাধ্যমে Python GUI প্রোগ্রামিংয়ের ধারণা স্পষ্ট করে। এই অ্যাপে আরো ফিচার যোগ করা যেতে পারে যেমন ডেটাবেস ব্যবহার করে টাস্ক সংরক্ষণ, টাস্ক রিমাইন্ডার ফাংশন, কিংবা টাইম ট্র্যাকিং।

Content added By
Promotion

Are you sure to start over?

Loading...