Zeitmanagement.py

                    
import tkinter

fenster = tkinter.Tk()
fenster.resizable(True, True)
fenster.geometry("750x300-400-1300")
fenster.title("Zeitmanagement")

# Funktion: Aufgabe einfügen
def auf_die_liste_einfügen():
    aufgabe = aufgabe_eingabe.get()
    priorität = priorität_eingabe.get().upper()
    dauer = dauer_eingabe.get()

    text = f"Aufgabe: {aufgabe}   |   Priorität: {priorität}   |   Dauer: {dauer} min\n"
    liste.insert("end", text)

    # Markierung zur Farbanzeige
    pos_start = "end-2l"
    pos_end = "end-1l"
    liste.tag_add(priorität, pos_start, pos_end)
    farbe = {"A": "red", "B": "orange", "C": "green"}.get(priorität, "black")
    liste.tag_config(priorität, foreground=farbe)

    aufgabe_eingabe.delete(0, "end")
    priorität_eingabe.delete(0, "end")
    dauer_eingabe.delete(0, "end")

# Funktion: Aufgabe als "Erledigt" markieren und andere Prioritäten anpassen
def aufgabe_erledigen():
    try:
        # Markierte Zeile holen
        auswahl = liste.get("sel.first", "sel.last")
    except:
        return  # nichts markiert

    # Alle Zeilen lesen
    zeilen = liste.get("1.0", "end").strip().split("\n")

    neue_zeilen = []
    for zeile in zeilen:
        if zeile == auswahl.strip():
            continue  # diese Zeile überspringen (löschen)
        # Priorität anpassen
        if "Priorität: C" in zeile:
            zeile = zeile.replace("Priorität: C", "Priorität: B")
        elif "Priorität: B" in zeile:
            zeile = zeile.replace("Priorität: B", "Priorität: A")
        neue_zeilen.append(zeile)

    # Textfeld leeren und neu schreiben
    liste.delete("1.0", "end")
    for zeile in neue_zeilen:
        liste.insert("end", zeile + "\n")
        if "Priorität: A" in zeile:
            liste.tag_add("A", "end-2l", "end-1l")
        elif "Priorität: B" in zeile:
            liste.tag_add("B", "end-2l", "end-1l")
        elif "Priorität: C" in zeile:
            liste.tag_add("C", "end-2l", "end-1l")

    liste.tag_config("A", foreground="red")
    liste.tag_config("B", foreground="orange")
    liste.tag_config("C", foreground="green")

# Widgets
lb_aufgabe = tkinter.Label(text="Aufgabe")
lb_priorität = tkinter.Label(text="Priorität A, B, C")
lb_dauer = tkinter.Label(text="Dauer in min.")
aufgabe_eingabe = tkinter.Entry(width=30)
priorität_eingabe = tkinter.Entry(width=30)
dauer_eingabe = tkinter.Entry(width=30)

liste = tkinter.Text(width=90, height=10)


btn_einfügen = tkinter.Button(text="Einfügen", command=auf_die_liste_einfügen)
btn_erledigt = tkinter.Button(text="Erledigt", command=aufgabe_erledigen)

# Platzieren
lb_aufgabe.grid(column=0, row=1, padx=10)
lb_priorität.grid(column=1, row=1, padx=10)
lb_dauer.grid(column=2, row=1, padx=10)
aufgabe_eingabe.grid(column=0, row=2, padx=10)
priorität_eingabe.grid(column=1, row=2, padx=10)
dauer_eingabe.grid(column=2, row=2, padx=10)
btn_einfügen.grid(column=3, row=2)
btn_erledigt.grid(column=4, row=2)
liste.grid(column=0, row=3, columnspan=5, pady=20)

fenster.mainloop()