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()