Aplikacja To-Do to klasyczny projekt dla każdego początkującego programisty. Dowiedz się, jak zbudować taki przy użyciu Pythona i Tkintera.

Aplikacja To-Do, czasami nazywana menedżerem zadań, pozwala użytkownikom efektywniej organizować zadania i zarządzać nimi. Możesz tworzyć listy codziennych lub tygodniowych zadań, ustalać terminy i przypomnienia, ustalać priorytety, śledzić ich postępy i udostępniać je innym.

Aplikacja To-Do pozwala zarządzać czasem, zwiększać produktywność i zmniejszać stres. Jak więc zbudować taki w Pythonie?

Moduł Tkintera

Możesz użyć Tkintera do zbudowania aplikacji To-Do. Tkinter umożliwia tworzenie aplikacji desktopowych. Oferuje różnorodne widżety, takie jak przyciski, etykiety i pola tekstowe, które ułatwiają tworzenie aplikacji. Niektóre aplikacje, które możesz opracować za pomocą Tkintera, to m.in Aplikacja Słownik, Odtwarzacz muzyki, A Narzędzie do konwersji wagii a Gra polegająca na mieszaniu słów.

Aby zainstalować Tkintera, otwórz terminal i uruchom:

pip zainstaluj tkintera

Jak zbudować aplikację do wykonania za pomocą Pythona

W tym można znaleźć kod źródłowy aplikacji To-Do Repozytorium GitHub.

Zaimportuj moduł Tkinter i zainicjuj okno główne. Używając konfiguruj() funkcji, ustaw kolor tła. Ustaw także tytuł i rozmiar okna.

z tkinter import *
z tkinter.font import Czcionka

pierwiastek = Tk()
root.configure (tło="#A020f0")
root.tytuł(„Aplikacja z listą rzeczy do zrobienia”)
korzeń.geometry(„750x500”)

Zdefiniuj styl czcionki i widżet ramki. Ramka pełni rolę kontenera i odpowiada za układanie pozycji innych widżetów. Ustaw okno nadrzędne, w którym chcesz je umieścić, i nadaj mu pionowe wypełnienie 10.

Zdefiniuj widżet pola listy. Ten komponent wyświetla listę elementów do wyboru przez użytkownika. Ustaw okno nadrzędne, w którym chcesz je umieścić, styl czcionki, szerokość, wysokość, kolor tła, szerokość obramowania i kolor czcionki. Ustaw również grubość podświetlenia fokusa, kolor tła, jaki powinien mieć po wybraniu, oraz wygląd aktywnej linii jako Nic.

Uporządkuj listę, umieszczając ją po lewej stronie i nakazując jej wypełnianie dodatkowej przestrzeni w obu kierunkach.

my_font = Czcionka (rodzina=„Arial”, rozmiar =22, waga ="pogrubiony")
my_frame = Rama (główny)
moja_ramka.pack (pady=10)

moja_lista = pole listy (moja_ramka, czcionka=moja_czcionka, szerokość=40, wysokość=7, bg="#cf9fff", bd=0,fg=„#5c4033”, grubość podświetlenia=0, wybierz tło="#ff0000", styl aktywny="nic")
my_list.pack (strona=LEWA, wypełnienie=OBIE)

Zdefiniuj pasek przewijania, który program wyświetli po prawej stronie ramki, wypełniając dodatkową przestrzeń w obu kierunkach. Użyj konfiguracja() metodę powiązania paska przewijania ze zdefiniowanym wcześniej widżetem pola listy. Przy ustawianiu wartości polecenie yscroll Jak mój_pasek przewijania.set pobiera bieżącą pozycję paska przewijania podczas interakcji użytkownika.

Po ustawieniu parametru polecenia jako moja_lista.yview, ruch paska przewijania jest powiązany z funkcjami w górę iw dół. Tak więc, gdy użytkownik wchodzi w interakcję z paskiem przewijania, widoki listy zmieniają się odpowiednio.

my_scrollbar = Pasek przewijania (moja_ramka)
my_scrollbar.pack (bok=PRAWY, wypełnienie=OBIE)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (command=my_list.yview)

Zdefiniuj widżet wpisu, aby akceptować zadania jako dane wejściowe od użytkownika. Ustaw okno nadrzędne, w którym chcesz je umieścić, styl czcionki, szerokość i kolor tła. Zorganizuj go, dodając dopełnienie 20 w kierunku pionowym.

Zdefiniuj ramkę, aby uporządkować przyciski. Umieść je w oknie głównym i nadaj mu kolor tła. Uporządkuj ramę z wypełnieniem 20 również w kierunku pionowym.

my_entry = Wpis (główny, czcionka = („Arial”, 22), szerokość=26, bg='#cf9fff')
my_entry.pack (pady=20)

button_frame = Ramka (root, bg='#a020f0')
button_frame.pack (pady=20)

Zdefiniuj funkcję, Usuń przedmiot(). Przekaż KOTWICA parametr do funkcji usuwania, aby usunąć wybraną pozycję z listy.

pokUsuń przedmiot():
my_list.delete (ANCHOR)

Zdefiniuj funkcję, Dodaj Przedmiot(). Użyj Dostawać() funkcja pobierania wartości wprowadzonej przez użytkownika na koniec listy. Jeśli lista jest pusta, dodany element stanie się pierwszym wpisem na liście. Po dodaniu elementu do listy należy go usunąć z widżetu wpisów. Użyj funkcji usuwania, aby usunąć tekst wstawiony od początku do końca jego długości.

pokDodaj Przedmiot():
my_list.insert (END, my_entry.get())
mój_wpis.usuń(0, KONIEC)

Zdefiniuj funkcję, cross_off_item(). Użyj pozycja_konfiguracja() metody zmiany koloru czcionki zadania wybranego elementu na liście na blady kolor, element został skreślony. Wyczyść teraz dokonany wybór od początku do końca jego długości.

pokelement_wykreślony():
my_list.itemconfig (my_list.curselection(), fg="#dedede")
my_list.selection_clear(0, KONIEC)

Zdefiniuj funkcję, uncross_item(). Podobnie jak w przypadku powyższej funkcji, zmień kolor wybranego zadania z powrotem na oryginalny i całkowicie wyczyść zaznaczenie.

pokuncross_item():
my_list.itemconfig (my_list.curselection(), fg=„#5c4033”)
my_list.selection_clear(0, KONIEC)

Zdefiniuj funkcję, delete_crossed(). Zdefiniuj zmienną licznika i iteruj, aż będzie mniejsza niż rozmiar listy. Jeśli kolor czcionki elementu jest blady, usuń ten element z listy. W przeciwnym razie kontynuuj iterację, zwiększając zmienną licznika.

pokusuń_skrzyżowane():
liczyć = 0

chwila liczba < moja_lista.rozmiar():
Jeśli my_list.itemcget (liczba, "fg") == "#dedede":
my_list.delete (my_list.index (liczba))
w przeciwnym razie:
liczyć += 1

Zdefiniuj pięć przycisków: usuń, dodaj, skreśl, usuń skreślenie i usuń przekreślone. Umieść przyciski w utworzonej wcześniej ramce przycisku. Ustaw tekst, który ma wyświetlać każdy przycisk, funkcję, którą ma uruchamiać po kliknięciu, kolor tła i styl czcionki.

delete_button = Przycisk (ramka_przycisku, tekst="Usuń przedmiot", polecenie=usuń_pozycję, bg="#e7305b", czcionka=(„arialny”, 12, "pogrubiony"))
add_button = Przycisk (ramka_przycisku, tekst="Dodaj Przedmiot", polecenie=dodaj_pozycję, bg="#e7305b", czcionka=(„arialny”, 12, "pogrubiony"))
cross_off_button = Przycisk (ramka_przycisku, tekst=„Przekreśl przedmiot”, command=przekreśl_pozycja_wykreślona, ​​bg="#e7305b", czcionka=(„arialny”, 12, "pogrubiony"))
uncross_button = Przycisk (ramka_przycisku, tekst=„Przedmiot rozkrzyżowany”, command=uncross_item, bg="#e7305b", czcionka=(„arialny”, 12, "pogrubiony"))
delete_crossed_button = Przycisk (ramka_przycisku, tekst=„Usuń przekreślone”, polecenie=usuń_przekreślone, bg="#e7305b", czcionka=(„arialny”,12, "pogrubiony"))

Uporządkuj przyciski za pomocą menedżera siatki w jednym rzędzie i pięciu kolumnach. Ustaw dopełnienie 0 w kierunku poziomym, aby przydzielić trochę odstępów między przyciskami,

delete_button.grid (wiersz=0, kolumna=0)
add_button.grid (wiersz=0, kolumna=1, padx=20)
cross_off_button.grid (wiersz=0, kolumna=2)
uncross_button.grid (wiersz=0, kolumna=3, padx=20)
delete_crossed_button.grid (wiersz=0, kolumna=4)

The główna pętla() mówi Pythonowi, aby uruchomił pętlę zdarzeń Tkinter i nasłuchiwał zdarzeń, dopóki nie zamkniesz okna.

root.mainloop()

Połącz cały kod i nigdy nie przegap żadnego zadania, korzystając z tej wydajnej aplikacji z listą rzeczy do zrobienia.

Dane wyjściowe aplikacji do wykonania przy użyciu języka Python

Po uruchomieniu powyższego programu pojawi się okno, w którym możesz wpisać zadania, które chcesz wykonać. Po dodaniu zadania i naciśnięciu przycisku Dodaj Przedmiot przycisk, zadanie zostanie dodane do ekranu.

Po wybraniu któregokolwiek z zadań za pomocą myszy/klawiatury i kliknięciu przycisku Wykreśl przedmiot przycisk, wybrane zadanie zmieni kolor i zgaśnie.

Po wybraniu przekreślonego elementu i kliknięciu przycisku Rozkrzyżowany przedmiot program podświetla zadanie z powrotem do pierwotnego koloru.

Po kliknięciu Usuń Przekreślone program usuwa przekreślone zadanie. Po wybraniu dowolnego elementu i kliknięciu przycisku Usuń przedmiot przycisk, wybrany element zostanie usunięty.

Aplikacje, które możesz zbudować za pomocą Pythona, aby zwiększyć swoją produktywność

Możesz tworzyć aplikacje, takie jak RescueTime, które śledzą, ile czasu użytkownik spędza na danej aplikacji. Takie aplikacje mogą pomóc Ci odkryć, które strony internetowe najbardziej Cię rozpraszają. Oprócz tego możesz czerpać inspirację z Trello do tworzenia tablic z listami rzeczy do zrobienia, terminami i przypomnieniami.

Aplikacja muzyczna odtwarzająca specjalnie zaprojektowaną listę odtwarzania może pomóc użytkownikom skoncentrować się i skoncentrować na pracy. Możesz nawet zautomatyzować programy GUI do wykonywania powtarzalnych zadań, takich jak procesy logowania i skrypty do interakcji z pulpitem.