Acest instrument util vă poate ajuta să lucrați mai productiv și îl puteți construi singur folosind Tkinter.

Tehnica Pomodoro este o tehnică de gestionare a timpului dezvoltată de Francesco Cirillo. Implică folosirea unui cronometru pentru a împărți munca în intervale de 25 de minute separate de o pauză de cinci minute. După ce finalizați acest ciclu de patru ori, puteți face o pauză mai lungă de 20 de minute.

Tehnica Pomodoro crește productivitatea, elimină distragerile și mărește concentrarea individului asupra muncii. Această tehnică scapă de multitasking și te recompensează cu pauze ca recompensă. Acest lucru vă ajută să rămâneți relaxat și motivat să vă continuați munca cu dedicație.

Modulul Tkinter și Matematică

Pentru a construi aplicația Pomodoro Timer, aveți nevoie de Tkinter și modulul Math. Tkinter este biblioteca standard GUI pentru Python. Oferă o varietate de widget-uri, cum ar fi butoane, etichete și casete de text, astfel încât să puteți dezvolta aplicații în cel mai scurt timp. Pentru a instala Tkinter, deschideți un terminal și executați:

instagram viewer
pip install tkinter

Modulul Math vine în biblioteca standard Python și este foarte util în efectuarea calculelor matematice. Vine cu funcții aritmetice, trigonometrice, exponențiale, logaritmice, de utilitate și constante precum pi și e.

Cum să construiți o aplicație Pomodoro Timer folosind Python

Puteți găsi codul sursă al aplicației Pomodoro Timer folosind Python în aceasta Depozitul GitHub.

Începeți prin a importa Tkinter și modulul Math. Inițializați variabilele de eficiență a muncii Pomodoro, timpul de pauză, timpul lung de pauză, contorul și temporizatorul. Veți folosi variabila contor, repetari, pentru a afla numărul de cicluri Pomodoro pe care le-a finalizat cronometrul.

din tkinter import *
import matematica

WORK_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
repetari = 0
cronometru = Nici unul

Definiți o funcție, reset_timer(). Începeți prin a seta start starea butonului la normal pentru a-l activa; veți vedea mai târziu unde să-l dezactivați.

Invocați metoda after_cancel() pentru a opri funcția de cronometru. Folosește item_config() metoda de pe pânză pentru a reseta cronometrul afișat pe ecran la zero. Schimbați textul titlului în „Timer” și colorați-l în violet. Ștergeți toate bifele prezente setând textul pe șirul gol.

Faceți referire la repetările variabilei globale și resetați-o la zero.

defreset_timer():
butonul de start["stat"] = "normal"
root.after_cancel (temporizator)
canvas.itemconfig (timer_text, text="00:00")
title_label.config (text="Temporizator", fg=#A020F0')
check_marks.config (text="")
global repetari
repetari = 0

Definiți o funcție start_timer(). Aici veți dezactiva start butonul pentru a împiedica utilizatorul să facă clic pe el din nou.

Continuați prin referire la global repetari variabilă și incrementând-o. Obțineți numărul de secunde pentru efectuarea muncii dvs., pauză scurtă și pauză lungă. Dacă variabila contor nu lasă rest atunci când este împărțită la opt (patru cicluri Pomodoro unde un ciclu constă în muncă și o sesiune de pauză scurtă), porniți cronometrul de pauză lungă și afișați-l pe ecran în albastru culoare.

În mod similar, dacă restul este zero atunci când este împărțit la doi, începeți și afișați cronometrul de pauză scurtă în culoarea Verde. În caz contrar, începeți cronometrul de lucru și afișați același lucru în culoarea roșie.

defstart_timer():
butonul de start["stat"] = "dezactivat"

Definiți o funcție, count_down() care acceptă numărarea. Setați variabila de numărare minimă ca cel mai apropiat număr întreg mic de numărul împărțit la 60. Setați al doilea număr ca modul de numărare cu 60. Dacă secundele sunt mai mici de 10, afișați un zero suplimentar în fața acestuia. Setați pânza și afișarea minutelor și orei curente așa cum au fost calculate mai sus.

Dacă numărul este mai mare decât zero, faceți referire la temporizatorul global și setați solicitarea de apel invers funcția count_down în sine după o întârziere de o secundă și reduceți numărul cu una.

defnumărătoarea inversă(numara):
count_min = math.floor (număr / 60)
count_sec = count % 60

dacă count_sec < 10:
count_sec = f"0{count_sec}"

canvas.itemconfig (timer_text, text=f"{count_min}:{count_sec}")

dacă numără > 0:
global temporizator
timer = root.after(1000, count_down, count - 1)

În caz contrar, sunați la start_timer() funcția, setați marcajele la zero și calculați sesiunile de lucru ca cel mai mic număr întreg cel mai apropiat de contor împărțit la doi. Repetați sesiunile de lucru și creșteți semnele de bifare în mod corespunzător. Configurați check_marks() funcția de afișare a textului ca variabilă de bifare.

altfel:
start_timer()
note = ""
work_sessions = math.floor (repetări / 2)

pentru _ în interval (work_sessions):
semnele += "✓"

check_marks.config (text=marks)

Inițializați instanța Tkinter și afișați fereastra rădăcină. Setați titlul aplicației dvs. și configurați-o pentru a avea o umplutură în ambele direcții. Setați fundalul la galben deschis.

rădăcină = Tk()
root.title(„Aplicație Pomodoro Timer”)
root.config (padx=100, pady=50, bg=„#f7f5dd”)

Definiți un widget de etichetă care afișează textul ca temporizator. Setați culoarea fontului, culoarea de fundal și stilurile de font. Utilizați managerul de aspect Grid pentru a organiza elementele aplicației. Plasați eticheta titlului în primul rând și a doua coloană.

title_label = Etichetă (text="Temporizator", fg=„#A020F0”, bg=„#f7f5dd”, font=("Arial", 50))
title_label.grid (coloană=1, rând=0)

Definiți o pânză cu lățimea și înălțimea de 200x224 pixeli. Setați grosimea marginii la zero. Utilizați widgetul PhotoImage pentru a afișa imaginea unei roșii pe o pânză. Folosește create_image() metoda de inserare a imaginii pe pânză.

Folosește create_text() metoda de a crea textul de timp în mm: ss format. Setați lățimea, înălțimea, textul, culoarea și stilurile de font ale timpului de numărătoare inversă. Plasați acest lucru în al doilea rând și a doua coloană a grilei.

pânză = pânză (lățime =200, inaltime=224, highlightthickness=0)
tomato_img = PhotoImage (fișier="tomato.png")
canvas.create_image(100, 112, imagine=tomato_img)
timer_text = canvas.create_text(100, 130, text="00:00", umple="alb", font=("Arial", 35, "îndrăzneţ"))
canvas.grid (coloană=1, rând=1)

Definiți două butoane, butonul de start, și butonul de resetare. Setați textul pe care ar trebui să-l afișeze, fără margini, funcția pe care ar trebui să o execute atunci când faceți clic, culoarea de fundal și stilurile de font. Poziționați butonul Start în prima coloană, al doilea rând și butonul Reset în aceeași coloană, al treilea rând.

start_button = Buton (text="Start", highlightthickness=0, command=start_timer, bg=„#e7305b”, font=("arial", 15, "îndrăzneţ"))
start_button.grid (coloană=0, rând=2)

reset_button = Buton (text=„Resetare”, highlightthickness=0, comandă = reset_timer, bg=„#e7305b”, font=("arial", 15, "îndrăzneţ"))
reset_button.grid (coloană=2, rând=2)

Creați o etichetă care să afișeze inițial semnele de selectare ca niciuna. Setați culoarea fontului, culoarea de fundal și stilurile fontului. Așezați-l în a doua coloană și în al patrulea rând, sub butoanele din mijloc.

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.

check_marks = Etichetă (text="", fg=„#00FF00”, bg=„#f7f5dd”, font=("arial", 25, "îndrăzneţ"))
check_marks.grid (coloană=1, rând=3)

root.mainloop()

Puneți tot codul împreună și încercați aplicația Pomodoro Timer.

Exemplu de ieșire a aplicației Pomodoro Timer

Când rulați acest program, veți vedea o fereastră cu titlul „Timer” și un cronometru cu numărătoare inversă setat la zero. Făcând clic pe butonul Start, titlul se schimbă în „Work”, iar cronometrul începe să numără invers.

După exact 25 de minute, apare bifa și aplicația începe cronometrul de pauză scurtă de cinci minute.

După patru cicluri Pomodoro, cronometrul de pauză lungă se stabilește timp de 20 de minute. Odată ce timpul a trecut, cronometrul de lucru începe din nou.

Aplicații pe care le puteți crea folosind modulul Math și Tkinter

Există o multitudine de aplicații pe care le puteți crea folosind Tkinter și modulul Math. Începătorii pot explora platforma construind un calculator. Calculatorul poate fi de diferite tipuri, inclusiv aritmetic, geometric, grafic și financiar. Puteți crea carduri de matematică și generatoare de probleme de matematică pe care un utilizator să le rezolve.

Un convertor de sistem numeric, trigonometrie și instrumente de statistică se pot dovedi utile pentru practicarea matematicii într-un mod mai simplu și distractiv.