Eine To-Do-App ist ein klassisches Projekt für jeden angehenden Programmierer. Finden Sie heraus, wie Sie eine mit Python und Tkinter erstellen.
Eine To-Do-Anwendung, manchmal auch als Task-Manager bezeichnet, ermöglicht es Benutzern, ihre Aufgaben effektiver zu organisieren und zu verwalten. Sie können eine Liste mit täglichen oder wöchentlichen Aufgaben erstellen, Fristen und Erinnerungen festlegen, sie priorisieren, ihren Fortschritt verfolgen und sie mit anderen teilen.
Mit einer To-Do-App können Sie Zeit verwalten, die Produktivität steigern und Stress reduzieren. Wie können Sie also eine in Python erstellen?
Das Tkinter-Modul
Sie können Tkinter verwenden, um die To-Do-Anwendung zu erstellen. Mit Tkinter können Sie Desktop-Anwendungen erstellen. Es bietet eine Vielzahl von Widgets wie Schaltflächen, Beschriftungen und Textfelder, die die Entwicklung von Apps vereinfachen. Einige Anwendungen, die Sie mit Tkinter entwickeln können, umfassen a Wörterbuch-App, Musikspieler, A Gewichtsumrechnungstool, und ein Wort-Jumble-Spiel.
Um Tkinter zu installieren, öffnen Sie ein Terminal und führen Sie Folgendes aus:
pip installiere tkinter
So erstellen Sie eine To-Do-Anwendung mit Python
Darin finden Sie den Quellcode der To-Do-Anwendung GitHub-Repository.
Importieren Sie das Tkinter-Modul und initialisieren Sie das Root-Fenster. Verwendung der konfigurieren() Funktion, legen Sie die Hintergrundfarbe fest. Legen Sie außerdem den Titel und die Größe des Fensters fest.
aus tkinter importieren *
aus tkinter.font importieren Schriftart
Wurzel = Tk()
root.configure (Hintergrund="#A020f0")
root.title('To-Do-Listen-Anwendung')
root.geometry("750 x 500")
Definieren Sie einen Schriftstil und ein Rahmen-Widget. Ein Frame fungiert als Container und ist für die Anordnung der Position anderer Widgets verantwortlich. Legen Sie das übergeordnete Fenster fest, in dem Sie es platzieren möchten, und geben Sie ihm eine vertikale Auffüllung von 10.
Definieren Sie ein Listbox-Widget. Diese Komponente zeigt eine Liste mit Elementen an, die der Benutzer auswählen kann. Legen Sie das übergeordnete Fenster fest, in dem Sie es platzieren möchten, den Schriftstil, die Breite, die Höhe, die Hintergrundfarbe, die Rahmenbreite und die Schriftfarbe. Stellen Sie außerdem die Dicke der Fokushervorhebung, die Hintergrundfarbe, die sie haben soll, wenn sie ausgewählt wird, und das Aussehen der aktiven Linie ein Keiner.
Organisieren Sie die Liste, indem Sie sie auf der linken Seite platzieren und ihr sagen, dass sie jeden zusätzlichen Platz in beide Richtungen füllen soll.
my_font = Schriftart (family="Arial", Größe=22, Gewicht ="deutlich")
my_frame = Rahmen (Wurzel)
my_frame.pack (pady=10)
my_list = Listenfeld (my_frame, font=my_font, width=40, Höhe =7, bg="#cf9fff", bd=0, fg="#5c4033", HighlightDicke=0, selectbackground="#ff0000", activestyle="keiner")
my_list.pack (Seite=LINKS, Füllung=BEIDE)
Definieren Sie eine Bildlaufleiste, die das Programm auf der rechten Seite des Rahmens anzeigt und jeden zusätzlichen Platz in beide Richtungen ausfüllt. Verwenden Sie die config() -Methode, um die Bildlaufleiste an das zuvor definierte Listenfeld-Widget zu binden. Beim Einstellen des Werts von ysscrollcommand als my_scrollbar.set Es erhält die aktuelle Position der Bildlaufleiste bei Benutzerinteraktion.
Beim Setzen des Befehlsparameters as meine_liste.yview, wird die Bewegung der Bildlaufleiste mit den Aufwärts- und Abwärtsfunktionen verknüpft. Wenn der Benutzer also mit der Bildlaufleiste interagiert, ändern sich die Listenfeldansichten entsprechend.
my_scrollbar = Bildlaufleiste (my_frame)
my_scrollbar.pack (Seite=RECHTS, Füllung=BEIDE)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (Befehl=my_list.yview)
Definieren Sie ein Eingabe-Widget, um Aufgaben als Eingabe vom Benutzer zu akzeptieren. Legen Sie das übergeordnete Fenster fest, in dem Sie es platzieren möchten, den Schriftstil, die Breite und die Hintergrundfarbe. Organisieren Sie es, indem Sie eine Auffüllung von 20 in vertikaler Richtung hinzufügen.
Definieren Sie einen Rahmen, um Ihre Schaltflächen zu organisieren. Platzieren Sie sie im Stammfenster und geben Sie ihr eine Hintergrundfarbe. Organisieren Sie den Rahmen auch in vertikaler Richtung mit einer Polsterung von 20.
my_entry = Eintrag (root, font=("Arial", 22), Breite=26, bg='#cf9fff')
mein_eintrag.pack (pady=20)
button_frame = Rahmen (root, bg='#a020f0')
button_frame.pack (pady=20)
Funktion definieren, Element löschen(). Übergeben Sie die ANKER -Parameter an die Löschfunktion, um das ausgewählte Element aus der Liste zu entfernen.
defElement löschen():
meine_liste.löschen (ANCHOR)
Funktion definieren, Artikel hinzufügen(). Verwenden Sie die erhalten() Funktion, um den vom Benutzer eingegebenen Wert am Ende der Liste abzurufen. Wenn die Liste leer ist, wird das hinzugefügte Element zum ersten Eintrag in der Liste. Nachdem Sie das Element zur Liste hinzugefügt haben, müssen Sie es aus dem Eintrags-Widget entfernen. Verwenden Sie die Löschfunktion, um den eingefügten Text von Anfang bis Ende seiner Länge zu entfernen.
defArtikel hinzufügen():
meine_liste.insert (ENDE, mein_eintrag.get())
mein_eintrag.löschen(0, ENDE)
Funktion definieren, cross_off_item(). Verwenden Sie die item_config() Methode zum Ändern der Schriftfarbe der ausgewählten Elementaufgabe in der Liste in eine schwache Farbe, haben Sie das Element durchgestrichen. Löschen Sie die Auswahl, die Sie jetzt vom Anfang bis zum Ende der Länge getroffen haben.
defcross_off_item():
meine_liste.itemconfig (meine_liste.curselection(), fg="#dedede")
meine_liste.selection_clear(0, ENDE)
Funktion definieren, uncross_item(). Ändern Sie ähnlich wie bei der obigen Funktion die Farbe der ausgewählten Aufgabe wieder auf das Original und heben Sie die Auswahl vollständig auf.
defuncross_item():
meine_liste.itemconfig (meine_liste.curselection(), fg="#5c4033")
meine_liste.selection_clear(0, ENDE)
Funktion definieren, delete_crossed(). Definieren Sie eine Zählervariable und iterieren Sie, bis sie kleiner als die Größe der Liste ist. Wenn die Schriftfarbe des Elements schwach ist, löschen Sie dieses Element aus der Liste. Setzen Sie andernfalls die Iteration fort, indem Sie die Zählervariable erhöhen.
defdelete_crossed():
zählen = 0
während count < meine_liste.größe():
Wenn meine_liste.itemcget (zählen, "fg") == "#dedede":
meine_liste.delete (meine_liste.index (count))
anders:
zählen += 1
Definieren Sie fünf Schaltflächen: Löschen, Hinzufügen, Abhaken, Abhaken und Abgestrichenes löschen. Platzieren Sie die Schaltflächen in dem zuvor erstellten Schaltflächenrahmen. Legen Sie den Text fest, den jede Schaltfläche anzeigen soll, die Funktion, die sie ausführen soll, wenn Sie darauf klicken, ihre Hintergrundfarbe und ihren Schriftstil.
delete_button = Schaltfläche (button_frame, text="Element löschen", command=delete_item, bg="#e7305b", Schriftart=("arial", 12, "deutlich"))
add_button = Schaltfläche (button_frame, text="Artikel hinzufügen", command=add_item, bg="#e7305b", Schriftart=("arial", 12, "deutlich"))
cross_off_button = Schaltfläche (button_frame, text=„Element streichen“, command=cross_off_item, bg="#e7305b", Schriftart=("arial", 12, "deutlich"))
uncross_button = Schaltfläche (button_frame, text="Uncross Item", command=uncross_item, bg="#e7305b", Schriftart=("arial", 12, "deutlich"))
delete_crossed_button = Schaltfläche (button_frame, text="Kreuz löschen", command=delete_crossed, bg="#e7305b", Schriftart=("arial",12, "deutlich"))
Organisieren Sie die Schaltflächen mithilfe des Grid-Managers in einer einzelnen Zeile und fünf Spalten. Legen Sie eine Auffüllung von 0 in horizontaler Richtung fest, um einen gewissen Abstand zwischen den Schaltflächen zu gewähren.
delete_button.grid (Zeile=0, Spalte=0)
add_button.grid (Zeile=0, Spalte=1, padx=20)
cross_off_button.grid (Zeile=0, Spalte=2)
uncross_button.grid (Zeile=0, Spalte=3, padx=20)
delete_crossed_button.grid (Zeile=0, Spalte=4)
Der Hauptschleife() -Funktion weist Python an, die Tkinter-Ereignisschleife auszuführen und auf Ereignisse zu warten, bis Sie das Fenster schließen.
root.mainloop()
Stellen Sie den gesamten Code zusammen und verpassen Sie mit dieser effizienten To-Do-List-Anwendung keine Aufgabe mehr.
Ausgabe der To-Do-Anwendung mit Python
Beim Ausführen des obigen Programms erscheint ein Fenster, in dem Sie die Aufgaben eingeben können, die Sie erledigen möchten. Beim Hinzufügen der Aufgabe und Drücken der Artikel hinzufügen klicken, wird die Aufgabe zum Bildschirm hinzugefügt.
Wenn Sie eine der Aufgaben mit der Maus/Tastatur auswählen und auf die klicken Artikel streichen Taste, ändert die ausgewählte Aufgabe ihre Farbe und wird blass.
Wenn Sie das durchgestrichene Element auswählen und auf die klicken Entkreuzungselement hebt das Programm die Aufgabe wieder in ihrer ursprünglichen Farbe hervor.
Beim Anklicken der Gekreuzt löschen klicken, löscht das Programm die durchgestrichene Aufgabe. Wenn Sie ein beliebiges Element auswählen und auf klicken Element löschen Schaltfläche wird das ausgewählte Element entfernt.
Anwendungen, die Sie mit Python erstellen können, um Ihre Produktivität zu steigern
Sie können Anwendungen wie RescueTime erstellen, die verfolgen, wie viel Zeit ein Benutzer mit welcher App verbringt. Solche Apps können Ihnen helfen, herauszufinden, welche Websites Sie am meisten ablenken. Abgesehen davon können Sie sich von Trello inspirieren lassen, um Boards mit Aufgabenlisten, Fristen und Erinnerungen zu erstellen.
Eine Musikanwendung, die eine speziell entwickelte Wiedergabeliste abspielt, kann Benutzern helfen, sich zu konzentrieren und sich auf die Arbeit zu konzentrieren. Sie können sogar GUI-Programme automatisieren, um sich wiederholende Aufgaben wie Anmeldeprozesse und Skripte für die Interaktion mit dem Desktop auszuführen.