Dette nyttige værktøj kan hjælpe dig med at arbejde mere produktivt, og du kan bygge det selv ved hjælp af Tkinter.

Pomodoro-teknikken er en tidsstyringsteknik udviklet af Francesco Cirillo. Det går ud på at bruge en timer til at opdele arbejdet i intervaller på 25 minutter adskilt af en pause på fem minutter. Når du har gennemført denne cyklus fire gange, kan du holde en længere pause på 20 minutter.

Pomodoro-teknikken øger produktiviteten, eliminerer distraktioner og øger den enkeltes fokus på arbejde. Denne teknik slipper for multitasking og belønner dig med pauser som belønning. Dette hjælper dig med at forblive afslappet og motiveret til at fortsætte dit arbejde dedikeret.

Tkinter og matematikmodulet

For at bygge Pomodoro Timer-applikationen skal du bruge Tkinter- og Math-modulet. Tkinter er standard GUI-biblioteket til Python. Det tilbyder en række widgets som knapper, etiketter og tekstbokse, så du kan udvikle apps på ingen tid. For at installere Tkinter skal du åbne en terminal og udføre:

instagram viewer
pip installer tkinter

Math-modulet kommer i standard Python-biblioteket og er meget nyttig til at udføre matematiske beregninger. Den leveres med aritmetiske, trigonometriske, eksponentielle, logaritmiske, hjælpefunktioner og konstanter som pi og e.

Sådan bygger du en Pomodoro Timer-app ved hjælp af Python

Du kan finde kildekoden til Pomodoro Timer-appen ved hjælp af Python i denne GitHub-depot.

Begynd med at importere Tkinter og Math-modulet. Initialiser Pomodoros arbejdseffektivitetstid, pausetid, lang pausetid, tæller og timervariabler. Du skal bruge tællervariablen, reps, for at finde ud af antallet af Pomodoro-cyklusser, som timeren har gennemført.

fra tkinter importere *
importere matematik

WORK_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
reps = 0
timer = Ingen

Definer en funktion, reset_timer(). Begynd med at indstille Start knappens tilstand til normal for at aktivere den; du vil senere se, hvor du kan deaktivere det.

Kald metoden after_cancel() for at stoppe timerfunktionen. Brug item_config() metode på lærredet for at nulstille timeren vist på skærmen. Skift titelteksten til "Timer" og farve den lilla. Fjern alle flueben ved at sætte teksten til den tomme streng.

Referer til de globale variable reps, og nulstil den til nul.

defreset_timer():
start_knap["stat"] = "normal"
root.after_cancel (timer)
canvas.itemconfig (timer_tekst, tekst="00:00")
title_label.config (text="Timer", fg=#A020F0')
check_marks.config (text="")
global reps
reps = 0

Definer en funktion start_timer(). Det er her du vil deaktivere Start knappen for at forhindre brugeren i at klikke på den igen.

Fortsæt ved at henvise til det globale reps variabel og øge den. Få antallet af sekunder for at udføre dit arbejde, den korte pause og den lange pause. Hvis tællervariablen ikke efterlader nogen rest, når den divideres med otte (fire Pomodoro-cyklusser, hvor en cyklus består af arbejde og en kort pausesession), start den lange pausetimer og vis den på skærmen i blåt farve.

På samme måde, hvis resten er nul, når den divideres med to, skal du starte og vise den korte pause-timer i grøn farve. Ellers skal du starte arbejdstimeren og vise den samme i rød farve.

defstart_timer():
start_knap["stat"] = "handicappet"

Definer en funktion, count_down() der accepterer tælle. Indstil minimumtællingsvariablen som det nærmeste lille heltal til antallet divideret med 60. Indstil den anden tælling som tællemodulet med 60. Hvis sekunderne er mindre end 10, skal du vise et ekstra nul foran det. Indstil lærredet til at vise det aktuelle minut og tidspunkt som beregnet ovenfor.

Hvis tælleren er større end nul, skal du referere til den globale timer og stille den til at ringe tilbage til selve count_down-funktionen efter en forsinkelse på et sekund og reducere tællingen med et.

defnedtælling(tælle):
count_min = math.floor (count / 60)
count_sec = count % 60

hvis count_sec < 10:
count_sek = f"0{count_sec}"

canvas.itemconfig (timer_tekst, tekst=f"{count_min}:{count_sec}")

hvis tælle > 0:
global timer
timer = root.after(1000, nedtælling, tælle - 1)

Ellers ring til start_timer() funktion, sæt fluebenene til nul, og udregn arbejdssessionerne som det mindste nærmeste heltal til tælleren divideret med to. Gentag over arbejdssessionerne og øg fluebenene passende. Konfigurer check_marks() funktion til at vise teksten som fluebensvariabelen.

andet:
start_timer()
mærker = ""
work_sessions = math.floor (reps / 2)

til _ i interval (arbejdssessioner):
markerer += "✓"

check_marks.config (text=marks)

Initialiser Tkinter-forekomsten og vis rodvinduet. Indstil titlen på din applikation, og konfigurer den til at have noget polstring i begge retninger. Indstil baggrunden til lys gul.

root = Tk()
root.title("Pomodoro Timer Application")
root.config (padx=100, pady=50, bg="#f7f5dd")

Definer en etiket-widget, der viser teksten som Timer. Indstil dens skriftfarve, baggrundsfarve og skrifttype. Brug Grid layout manager til at organisere elementerne i applikationen. Placer titeletiketten i den første række og anden kolonne.

title_label = Etiket (tekst="Timer", fg='#A020F0', bg="#f7f5dd", skrifttype=("Arial", 50))
title_label.grid (kolonne=1, række=0)

Definer et lærred med en bredde og højde på 200x224 pixels. Indstil kanttykkelsen til nul. Brug PhotoImage-widgetten til at vise billedet af en tomat på et lærred. Brug create_image() metode til at indsætte billedet på lærredet.

Brug create_text() metode til at oprette tidsteksten i mm: ss format. Indstil bredde, højde, tekst, farve og skrifttype for nedtællingstiden. Placer dette i den anden række og den anden kolonne i gitteret.

lærred = lærred (bredde=200, højde=224, highlightthickness=0)
tomato_img = Fotobillede (fil="tomato.png")
canvas.create_image(100, 112, billede=tomat_img)
timer_tekst = canvas.create_text(100, 130, tekst="00:00", fyld="hvid", skrifttype=("Arial", 35, "fremhævet"))
canvas.grid (kolonne=1, række=1)

Definer to knapper, start_knap, og Genstarts knap. Indstil den tekst, den skal vise, ingen ramme, den funktion, den skal udføre, når den klikkes, baggrundsfarven og skrifttypestilene. Placer Start-knappen i første kolonne, anden række og Reset-knappen i samme kolonne, tredje række.

start_button = Knap (tekst="Start", highlightthickness=0, kommando=start_timer, bg="#e7305b", skrifttype=("arial", 15, "fremhævet"))
start_button.grid (kolonne=0, række=2)

reset_button = Knap (tekst="Nulstil", highlightthickness=0, kommando = reset_timer, bg="#e7305b", skrifttype=("arial", 15, "fremhævet"))
reset_button.grid (kolonne=2, række=2)

Opret en etiket, der til at begynde med viser fluebenene som ingen. Indstil skrifttypefarven, baggrundsfarven og skrifttypestilene. Placer den i anden kolonne og fjerde række, under knapperne i midten.

Det mainloop() funktion fortæller Python at køre Tkinter-hændelsesløkken og lytte efter hændelser, indtil du lukker vinduet.

check_marks = Etiket (tekst="", fg='#00FF00', bg="#f7f5dd", skrifttype=("arial", 25, "fremhævet"))
check_marks.grid (kolonne=1, række=3)

root.mainloop()

Sæt al koden sammen, og prøv Pomodoro Timer-applikationen.

Eksempel på output fra Pomodoro Timer-appen

Når du kører dette program, vil du se et vindue med titlen "Timer" og en nedtællingstimer sat til nul. Når du klikker på Start-knappen, ændres titlen til "Work", og timeren begynder at tælle ned.

Efter præcis 25 minutter vises fluebenet, og applikationen starter den korte pause-timer på fem minutter.

Efter fire Pomodoro-cyklusser sættes Long Break-timeren på plads i 20 minutter. Når tiden er forbi, starter arbejdstimeren igen.

Applikationer, du kan bygge ved hjælp af Math og Tkinter-modulet

Der er et væld af applikationer, du kan bygge ved hjælp af Tkinter og Math-modulet. Begyndere kan udforske platformen ved at bygge en lommeregner. Lommeregneren kan være af forskellige typer, herunder aritmetisk, geometrisk, grafisk og økonomisk. Du kan oprette matematikkort og matematikopgavegeneratorer, som en bruger kan løse.

En talsystemkonverterings-, trigonometri- og statistikværktøjskasse kan vise sig nyttig til at øve matematik på en enklere og sjov måde.