O aplicație To-Do este un proiect clasic pentru orice programator în devenire. Aflați cum să creați unul folosind Python și Tkinter.

O aplicație To-Do, denumită uneori manager de activități, permite utilizatorilor să-și organizeze și să-și gestioneze sarcinile mai eficient. Puteți crea o listă de sarcini zilnice sau săptămânale, puteți stabili termene limită și mementouri, le puteți prioritiza, urmări progresul lor și le puteți partaja altora.

O aplicație To-Do vă permite să gestionați timpul, să creșteți productivitatea și să reduceți stresul. Deci, cum puteți construi unul în Python?

Modulul Tkinter

Puteți folosi Tkinter pentru a construi aplicația To-Do. Tkinter vă permite să creați aplicații desktop. Oferă o varietate de widget-uri, cum ar fi butoane, etichete și casete de text, care facilitează dezvoltarea aplicațiilor. Unele aplicații pe care le puteți dezvolta folosind Tkinter includ a Dicţionar app, Player muzical, A Instrument de conversie a greutății, și a Jocul Word Jumble.

Pentru a instala Tkinter, deschideți un terminal și rulați:

instagram viewer
pip install tkinter

Cum să construiți o aplicație To-Do folosind Python

Puteți găsi codul sursă al aplicației To-Do în aceasta Depozitul GitHub.

Importați modulul Tkinter și inițializați fereastra rădăcină. Folosind configure() funcția, setați culoarea de fundal. Setați, de asemenea, titlul și dimensiunea ferestrei.

din tkinter import *
din tkinter.font import Font

rădăcină = Tk()
root.configure (background=„#A020f0”)
root.title(„Aplicație pentru lista de sarcini”)
root.geometry(„750x500”)

Definiți un stil de font și un widget cadru. Un cadru acționează ca un container și este responsabil pentru aranjarea poziției altor widget-uri. Setați fereastra părinte în care doriți să o plasați și acordați-i o umplutură verticală de 10.

Definiți un widget cu listă. Această componentă afișează o listă de articole pe care utilizatorul le poate selecta. Setați fereastra părinte în care doriți să o plasați, stilul fontului, lățimea, înălțimea, culoarea de fundal, lățimea chenarului și culoarea fontului. De asemenea, setați grosimea evidențierii focalizării, culoarea de fundal pe care ar trebui să o aibă atunci când este selectată și aspectul liniei active ca Nici unul.

Organizați lista așezând-o în partea stângă și spunându-i să umple orice spațiu suplimentar în ambele direcții.

my_font = Font (familie="Arial", dimensiune=22, greutate="îndrăzneţ")
my_frame = cadru (rădăcină)
my_frame.pack (pady=10)

lista_mea = Listbox (cadru_meu, font=font_meu, lățime=40, inaltime=7, bg=„#cf9fff”, bd=0, fg=„#5c4033”, highlightthickness=0, selectbackground=„#ff0000”, stil activ="nici unul")
my_list.pack (partea=STÂNGA, umplere=AMBELE)

Definiți o bară de derulare pe care programul o va afișa în partea dreaptă a cadrului, umplând orice spațiu suplimentar în ambele direcții. Folosește config() metodă de a lega bara de derulare la widget-ul listbox pe care l-ați definit mai devreme. La setarea valorii lui yscrollcommand la fel de my_scrollbar.set primește poziția curentă a barei de derulare la interacțiunea cu utilizatorul.

La setarea parametrului de comandă ca lista_mea.yview, mișcarea barei de derulare este legată de funcțiile sus și jos. Deci, atunci când utilizatorul interacționează cu bara de derulare, vizualizările casetei de listă se schimbă în consecință.

my_scrollbar = bara de defilare (my_frame)
my_scrollbar.pack (partea=dreapta, umplere=AMBELE)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (comandă=my_list.yview)

Definiți un widget de intrare pentru a accepta sarcini ca intrare de la utilizator. Setați fereastra părinte în care doriți să o plasați, stilul fontului, lățimea și culoarea de fundal. Organizați-l adăugând o umplutură de 20 în direcția verticală.

Definiți un cadru pentru a vă organiza butoanele. Așezați-le în fereastra rădăcină și dați-i o culoare de fundal. Organizați cadrul cu o căptușeală de 20 și în direcția verticală.

my_entry = Intrare (rădăcină, font=("Arial", 22), latime=26, bg=„#cf9fff”)
my_entry.pack (pady=20)

button_frame = Cadru (rădăcină, bg=„#a020f0”)
button_frame.pack (pady=20)

Definiți o funcție, Sterge articolul(). Treceți ANCORĂ parametru la funcția de ștergere pentru a elimina elementul selectat din listă.

defSterge articolul():
my_list.delete (ANCHOR)

Definiți o funcție, adaugare element(). Folosește obține() funcția de a prelua valoarea introdusă de utilizator la sfârșitul listei. Dacă lista este goală, elementul adăugat va deveni prima intrare din listă. După ce adăugați elementul în listă, trebuie să îl eliminați din widgetul de intrare. Utilizați funcția de ștergere pentru a elimina textul inserat de la începutul până la sfârșitul lungimii acestuia.

defadaugare element():
my_list.insert (END, my_entry.get())
my_entry.delete(0, SFÂRŞIT)

Definiți o funcție, cross_off_item(). Folosește item_config() metoda de a schimba culoarea fontului sarcinii elementului selectat din listă într-o culoare slabă, ați tăiat elementul. Ștergeți selecția pe care ați făcut-o acum de la începutul până la sfârșitul lungimii acesteia.

defelement_încrucișat():
lista_mea.itemconfig (lista_mea.curselection(), fg="#dedede")
lista_mea.selection_clear(0, SFÂRŞIT)

Definiți o funcție, uncross_item(). Similar cu funcția de mai sus, schimbați culoarea sarcinii selectate înapoi la cea originală și ștergeți complet selecția.

defuncross_item():
lista_mea.itemconfig (lista_mea.curselection(), fg=„#5c4033”)
lista_mea.selection_clear(0, SFÂRŞIT)

Definiți o funcție, delete_crossed(). Definiți o variabilă contor și repetați până când este mai mică decât dimensiunea listei. Dacă culoarea fontului articolului este slabă, ștergeți acel element din listă. În caz contrar, continuați iterația incrementând variabila contor.

defdelete_crossed():
numără = 0

in timp ce count < lista_mea.mărime():
dacă my_list.itemcget (număr, "fg") == "#dedede":
my_list.delete (my_list.index (număr))
altfel:
numără += 1

Definiți cinci butoane: ștergeți, adăugați, tăiați, demarcați și ștergeți tăiate. Așezați butoanele în cadrul butoanelor pe care l-ați creat mai devreme. Setați textul pe care trebuie să-l afișeze fiecare buton, funcția pe care ar trebui să o ruleze când faceți clic pe el, culoarea de fundal și stilul fontului.

delete_button = Buton (button_frame, text="Sterge articolul", comandă=delete_item, bg=„#e7305b”, font=("arial", 12, "îndrăzneţ"))
add_button = Buton (button_frame, text="Adaugare element", comandă=add_item, bg=„#e7305b”, font=("arial", 12, "îndrăzneţ"))
cross_off_button = Buton (button_frame, text=„Articol înlăturat”, command=cross_off_item, bg=„#e7305b”, font=("arial", 12, "îndrăzneţ"))
uncross_button = Buton (button_frame, text=„Uncross Item”, comandă=uncross_item, bg=„#e7305b”, font=("arial", 12, "îndrăzneţ"))
delete_crossed_button = Buton (button_frame, text=„Șterge încrucișat”, command=delete_crossed, bg=„#e7305b”, font=("arial",12, "îndrăzneţ"))

Organizați butoanele folosind managerul de grilă pe un singur rând și cinci coloane. Setați o umplutură de 0 în direcția orizontală pentru a aloca o anumită distanță între butoane,

delete_button.grid (rând=0, coloana=0)
add_button.grid (rând=0, coloana=1, padx=20)
cross_off_button.grid (rând=0, coloana=2)
uncross_button.grid (rând=0, coloana=3, padx=20)
delete_crossed_button.grid (rând=0, coloana=4)

The mainloop() funcția îi spune lui Python să ruleze bucla de evenimente Tkinter și să asculte evenimente până când închideți fereastra.

root.mainloop()

Puneți tot codul împreună și nu ratați niciodată nicio sarcină utilizând această aplicație eficientă To-Do List.

Ieșirea aplicației To-Do folosind Python

La rularea programului de mai sus, apare o fereastră în care puteți introduce sarcinile pe care doriți să le finalizați. La adăugarea sarcinii și apăsând butonul Adaugare element butonul, sarcina este adăugată pe ecran.

La selectarea oricăreia dintre sarcini cu mouse-ul/tastatura și făcând clic pe Articol tăiat butonul, sarcina selectată își schimbă culoarea și devine slabă.

La selectarea elementului încrucișat și făcând clic pe Uncross Item butonul, programul evidențiază sarcina înapoi la culoarea inițială.

Făcând clic pe Șterge încrucișat butonul, programul șterge sarcina tăiată. La selectarea oricărui articol și făcând clic pe Sterge articolul butonul, elementul selectat este eliminat.

Aplicații pe care le puteți crea folosind Python pentru a vă crește productivitatea

Puteți crea aplicații, cum ar fi RescueTime, care urmărește cât timp petrece un utilizator pentru care aplicație. Astfel de aplicații vă pot ajuta să descoperiți ce site-uri web vă distrag cea mai mare atenție. În afară de aceasta, vă puteți inspira de la Trello pentru a crea panouri cu liste de activități, termene limită și mementouri.

O aplicație muzicală care redă o listă de redare special concepută poate ajuta utilizatorii să se concentreze și să se concentreze asupra muncii. Puteți chiar să automatizați programele GUI pentru a efectua sarcini repetitive, cum ar fi procese de conectare și scripturi pentru a interacționa cu desktopul.