top of page

To-Do List Uygulaması

🌟 Proje Açıklaması:

To-Do List uygulaması, Python programlama dili ve Tkinter kütüphanesi kullanılarak geliştirilmiş basit ama faydalı bir projedir. Bu uygulama, kullanıcıların yapması gereken işleri listelemelerini ve tamamlanan işleri işaretlemelerini sağlar. Uygulama, kullanıcı dostu bir grafiksel arayüze sahip olup, kişisel görev yönetimi için harika bir araçtır. Kullanıcılar, günlük yaşamlarında karşılaştıkları görevleri daha iyi organize edebilmekte ve önceliklendirebilmektedir. Ayrıca, bu projenin web uyumlu bir versiyonu da PyScript aracılığıyla geliştirilmiş ve herhangi bir web sayfasına kolayca gömülebilecek şekilde tasarlanmıştır. Bu sayede kullanıcılar, görevlerini tarayıcı üzerinden kolayca yönetebilir ve istedikleri yerden erişim sağlayabilirler. Uygulama, hem masaüstü hem de web versiyonu ile kullanıcıların hayatını düzenlemeye yönelik etkili bir çözüm sunar.


📌 Amaç:

  • Görev Yönetimi: Kullanıcılar, yapacakları işleri kolayca listeleyebilir, her birinin tamamlanıp tamamlanmadığını takip edebilirler. Bu özellik, kullanıcıların görevlerini daha iyi planlamalarına yardımcı olur. Ayrıca, tamamlanmış işleri silebilir veya yeniden düzenleyebilirler. Bu sayede, kullanıcılar yalnızca üzerinde çalışmaları gereken görevlere odaklanabilirler.

  • Kolay Kullanım: Kullanıcı dostu bir arayüzle, görev eklemek, silmek ve işaretlemek çok kolaydır. Arayüz tasarımı, kullanıcıların uygulamayı hızlı bir şekilde öğrenmelerini ve kullanmalarını sağlamak için özenle hazırlanmıştır. Her yaş grubundan kullanıcı, uygulamanın işlevlerini rahatlıkla anlayabilir ve kullanabilir.

  • Web Uyumu: Web tarayıcılarında kullanılabilecek bir versiyon da mevcuttur, böylece kullanıcılar görevlerini doğrudan tarayıcı üzerinden yönetebilirler. Bu özellik, kullanıcıların farklı cihazlar arasında geçiş yaparken bile görevlerini güncel tutmalarına olanak tanır. Kullanıcılar, internet bağlantısı olan her yerde görevlerine erişim sağlayabilir.


🧠 Öğrenilen Konular:

  • Tkinter Kütüphanesi: Bu kütüphane, Python'da GUI uygulamaları için oldukça kullanışlıdır. Tkinter ile, kullanıcıların etkileşime geçebileceği butonlar, etiketler ve liste kutuları gibi bileşenler oluşturulabilir. Uygulama, kullanıcıların ihtiyaçlarına göre özelleştirilebilen bir yapı sunar. Aynı zamanda, Tkinter ile kullanıcı deneyimi artırılarak, görsel tasarım ve etkileşim sağlanır.

  • PyScript: PyScript, Python'un güçlü özelliklerini HTML içinde çalıştırarak, uygulamaların tarayıcıda çalışmasını sağlar. Bu özellik, web uyumlu projeler geliştirmek isteyenler için büyük bir avantajdır. PyScript kullanarak, geliştiriciler Python kodlarını doğrudan web sayfalarına entegre edebilir, bu da projelerin daha geniş bir kitleye ulaşmasını sağlar.

  • Liste ve Etkileşim: Kullanıcıların işlerini listelemeleri ve tamamlanmış işleri işaretlemeleri için temel liste yönetimi ve etkileşim teknikleri kullanılmıştır. Bu sayede, kullanıcılar görevlerini daha verimli bir şekilde yönetebilir, zamanlarını daha iyi organize edebilirler. Uygulama, kullanıcıların görevlerini önceliklendirmelerine ve tamamladıkları işleri takip etmelerine yardımcı olur.


🧩 Özellikler:

  • Görev Ekleme: Kullanıcılar yeni görevler ekleyebilirler. Eklenen görevler, kullanıcıların ihtiyaçlarına göre isimlendirilip tanımlanabilir, böylece her görev için özel notlar eklemek mümkündür.

  • Görev Silme: Kullanıcılar tamamladıkları görevleri listeden silebilirler. Bu özellik, kullanıcıların gereksiz görevlerden kurtulmalarını ve yalnızca aktif görevlerle ilgilenmelerini sağlar.

  • Görev Tamamlama: Kullanıcılar görevlerini tamamladıklarında, işaretleyebilirler. Bu işaretleme, kullanıcıların hangi görevleri tamamladıklarını görselleştirerek, motivasyonlarını artırabilir.

  • Web Uyumu: PyScript ile bu uygulama, herhangi bir web sayfasına entegre edilebilir. Kullanıcılar, bu sayede uygulamayı kendi web sitelerine ekleyerek, ziyaretçilerine görev yönetimi konusunda yardımcı olabilirler.


import tkinter as tk  # Tkinter GUI araçlarını kullanmamızı sağlar
from tkinter import messagebox  # Uyarı kutuları için

# 🔧 Görev Ekleme Fonksiyonu
def add_task():
    task = entry.get()
    if task != "":
        task_listbox.insert(tk.END, task)  # Görevi liste kutusuna ekle
        entry.delete(0, tk.END)  # Giriş kutusunu temizle
    else:
        messagebox.showwarning("Uyarı ⚠️", "Lütfen bir görev giriniz!")

# ❌ Seçili Görevi Silme Fonksiyonu
def delete_task():
    try:
        selected_index = task_listbox.curselection()[0]  # Seçilen görevi al
        task_listbox.delete(selected_index)  # Sil
    except:
        messagebox.showwarning("Uyarı ⚠️", "Lütfen silmek için bir görev seçiniz!")

# ✅ Tamamlandı Görevi İşaretleme Fonksiyonu
def mark_done():
    try:
        selected_index = task_listbox.curselection()[0]
        task = task_listbox.get(selected_index)
        task_listbox.delete(selected_index)
        task_listbox.insert(tk.END, f"✔️ {task}")  # Görevin başına tik ekle
    except:
        messagebox.showwarning("Uyarı ⚠️", "Lütfen işaretlemek için bir görev seçiniz!")

# 🔄 Listeyi Temizleme Fonksiyonu
def clear_all():
    if messagebox.askyesno("Emin misiniz?", "Tüm görevleri silmek istediğinize emin misiniz?"):
        task_listbox.delete(0, tk.END)

# 🪟 Ana pencere oluştur
root = tk.Tk()
root.title("📋 Yapılacaklar Listesi")
root.geometry("400x500")
root.configure(bg="#f5f5f5")

# 🖊️ Giriş alanı
entry = tk.Entry(root, font=("Arial", 14), width=25)
entry.pack(pady=20)

# ➕ Görev Ekle Butonu
add_button = tk.Button(root, text="Görev Ekle ➕", font=("Arial", 12), bg="#4caf50", fg="white", command=add_task)
add_button.pack(pady=5)

# ✅ Tamamlandı Butonu
done_button = tk.Button(root, text="Görevi Tamamla ✅", font=("Arial", 12), bg="#2196f3", fg="white", command=mark_done)
done_button.pack(pady=5)

# ❌ Silme Butonu
delete_button = tk.Button(root, text="Görevi Sil ❌", font=("Arial", 12), bg="#f44336", fg="white", command=delete_task)
delete_button.pack(pady=5)

# 🧹 Temizleme Butonu
clear_button = tk.Button(root, text="Tümünü Temizle 🧹", font=("Arial", 12), bg="#9c27b0", fg="white", command=clear_all)
clear_button.pack(pady=5)

# 📄 Görev Listesi (Listbox)
task_listbox = tk.Listbox(root, width=40, height=10, font=("Arial", 12), selectbackground="#a0a0a0")
task_listbox.pack(pady=20)

# 🌀 Ana döngü
root.mainloop()





Project Gallery

bottom of page