Dette nyttige verktøyet kan hjelpe deg med å jobbe mer produktivt, og du kan bygge det selv ved å bruke Tkinter.

Pomodoro-teknikken er en tidsstyringsteknikk utviklet av Francesco Cirillo. Det innebærer å bruke en timer for å dele opp arbeidet i intervaller på 25 minutter atskilt med en pause på fem minutter. Når du har fullført denne syklusen fire ganger, kan du ta en lengre pause på 20 minutter.

Pomodoro-teknikken øker produktiviteten, eliminerer distraksjoner og øker individets fokus på arbeid. Denne teknikken blir kvitt multitasking og belønner deg med pauser som belønning. Dette hjelper deg å holde deg avslappet og motivert til å fortsette arbeidet dedikert.

Tkinter og matematikkmodulen

For å bygge Pomodoro Timer-applikasjonen trenger du Tkinter og Math-modulen. Tkinter er standard GUI-biblioteket for Python. Den tilbyr en rekke widgets som knapper, etiketter og tekstbokser, slik at du kan utvikle apper på kort tid. For å installere Tkinter, åpne en terminal og kjør:

pip installer tkinter
instagram viewer

Math-modulen kommer i standard Python-bibliotek og er svært nyttig for å utføre matematiske beregninger. Den kommer med aritmetiske, trigonometriske, eksponentielle, logaritmiske, verktøyfunksjoner og konstanter som pi og e.

Hvordan bygge en Pomodoro Timer-app ved hjelp av Python

Du kan finne kildekoden til Pomodoro Timer-appen ved å bruke Python i denne GitHub-depot.

Begynn med å importere Tkinter og Math-modulen. Initialiser Pomodoro arbeidseffektivitetstid, pausetid, lang pausetid, teller og tidtakervariabler. Du bruker tellervariabelen, reps, for å finne ut hvor mange Pomodoro-sykluser tidtakeren har fullført.

fra tkinter import *
import matte

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

Definer en funksjon, reset_timer(). Begynn med å stille inn Start knappens tilstand til normal for å aktivere den; du vil se senere hvor du kan deaktivere den.

Påkall after_cancel()-metoden for å stoppe timerfunksjonen. Bruke item_config() metode på lerretet for å nullstille tidtakeren som vises på skjermen. Endre tittelteksten til "Timer" og farge den lilla. Fjern alle hakene som finnes ved å sette teksten til den tomme strengen.

Referer til de globale variable reps og tilbakestill den til null.

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

Definer en funksjon start_timer(). Det er her du vil deaktivere Start for å forhindre at brukeren klikker på den igjen.

Fortsett ved å referere til det globale reps variabel og øker den. Få antall sekunder for å utføre arbeidet ditt, den korte pausen og den lange pausen. Hvis tellervariabelen ikke etterlater noen rest når den deles på åtte (fire Pomodoro-sykluser hvor én syklus består av arbeid og en kort pauseøkt), start den lange pausetimeren og vis den på skjermen i blått farge.

På samme måte, hvis resten er null når de er delt på to, start og vis kortpausetimeren i grønn farge. Ellers starter du arbeidstimeren og viser den samme i rød farge.

defstart_timer():
start knapp["stat"] = "funksjonshemmet"

Definer en funksjon, count_down() som godtar telling. Angi minimum tellevariabelen som nærmeste lille heltall til antallet delt på 60. Sett den andre tellingen som tellingsmodulen med 60. Hvis sekundene er mindre enn 10, vis en ekstra null foran den. Still inn lerretet for å vise gjeldende minutt og tid som beregnet ovenfor.

Hvis tellingen er større enn null, referer til den globale tidtakeren og still inn be den ringe tilbake selve nedtellingsfunksjonen etter en forsinkelse på ett sekund og reduser tellingen med ett.

defnedtelling(telle):
count_min = math.floor (count / 60)
count_sec = count % 60

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

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

hvis telle > 0:
global tidtaker
timer = root.after(1000, count_down, count - 1)

Ellers ring start_timer() funksjon, sett avkryssingsmerkene til null, og regn ut arbeidsøktene som det minste nærmeste heltall til telleren delt på to. Iterer over arbeidsøktene og øk avkryssingene på passende måte. Konfigurer check_marks() funksjon for å vise teksten som hakevariabel.

ellers:
start_timer()
merker = ""
work_sessions = math.floor (reps / 2)

til _ i område (arbeidsøkter):
markerer += "✓"

check_marks.config (text=marks)

Initialiser Tkinter-forekomsten og vis rotvinduet. Angi tittelen på applikasjonen og konfigurer den til å ha litt polstring i begge retninger. Sett bakgrunnen til lys gul.

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

Definer en etikettwidget som viser teksten som Timer. Angi skriftfarge, bakgrunnsfarge og skriftstiler. Bruk Grid layout manager til å organisere elementene i applikasjonen. Plasser titteletiketten i den første raden og den andre kolonnen.

title_label = Etikett (tekst="Timer", fg='#A020F0', bg="#f7f5dd", font=("Arial", 50))
title_label.grid (kolonne=1, rad=0)

Definer et lerret med en bredde og høyde på 200x224 piksler. Sett kanttykkelsen til null. Bruk PhotoImage-widgeten til å vise bildet av en tomat på et lerret. Bruke create_image() metode for å sette inn bildet på lerretet.

Bruke create_text() metode for å lage tidsteksten i mm: ss format. Still inn bredde, høyde, tekst, farge og skriftstiler for nedtellingstiden. Plasser dette i den andre raden og den andre kolonnen i rutenettet.

canvas = Canvas (bredde=200, høyde=224, highlightthickness=0)
tomato_img = Fotobilde (fil="tomato.png")
canvas.create_image(100, 112, image=tomato_img)
timer_tekst = canvas.create_text(100, 130, tekst="00:00", fyll="hvit", font=("Arial", 35, "dristig"))
canvas.grid (kolonne=1, rad=1)

Definer to knapper, start knapp, og nullstillknapp. Angi teksten den skal vise, ingen kantlinje, funksjonen den skal utføre når den klikkes, bakgrunnsfargen og skriftstilene. Plasser Start-knappen i første kolonne, andre rad og Tilbakestill-knappen i samme kolonne, tredje rad.

start_button = Knapp (tekst="Start", highlightthickness=0, kommando=starttimer, bg="#e7305b", font=("arial", 15, "dristig"))
start_button.grid (kolonne=0, rad=2)

reset_button = Knapp (tekst="Nullstille", highlightthickness=0, kommando = reset_timer, bg="#e7305b", font=("arial", 15, "dristig"))
reset_button.grid (kolonne=2, rad=2)

Lag en etikett som først viser hakene som ingen. Angi skriftfarge, bakgrunnsfarge og skriftstiler. Plasser den i den andre kolonnen og den fjerde raden, under knappene i midten.

De mainloop() funksjonen forteller Python å kjøre Tkinter-hendelsesløkken og lytte etter hendelser til du lukker vinduet.

check_marks = Etikett (tekst="", fg='#00FF00', bg="#f7f5dd", font=("arial", 25, "dristig"))
check_marks.grid (kolonne=1, rad=3)

root.mainloop()

Sett sammen all koden og prøv Pomodoro Timer-applikasjonen.

Eksempelutgang fra Pomodoro Timer-appen

Når du kjører dette programmet, vil du se et vindu med tittelen "Timer" og en nedtellingstidtaker satt til null. Når du klikker på Start-knappen, endres tittelen til "Arbeid", og tidtakeren begynner å telle ned.

Etter nøyaktig 25 minutter vises haken og applikasjonen starter den korte pausetimeren på fem minutter.

Etter fire Pomodoro-sykluser settes Long Break-timeren på plass i 20 minutter. Når tiden er over, starter arbeidstimeren igjen.

Applikasjoner du kan bygge ved hjelp av Math og Tkinter-modulen

Det er en mengde applikasjoner du kan bygge ved å bruke Tkinter og Math-modulen. Nybegynnere kan utforske plattformen ved å bygge en kalkulator. Kalkulatoren kan være av forskjellige typer, inkludert aritmetisk, geometrisk, grafisk og økonomisk. Du kan lage matematikkkort og matematikkproblemgeneratorer som en bruker kan løse.

En tallsystemkonverterings-, trigonometri- og statistikkverktøykasse kan vise seg nyttig for å trene matematikk på en enklere og morsom måte.