Deze handige tool kan u helpen productiever te werken en u kunt deze zelf bouwen met Tkinter.
De Pomodoro-techniek is een tijdmanagementtechniek ontwikkeld door Francesco Cirillo. Het omvat het gebruik van een timer om het werk op te splitsen in intervallen van 25 minuten, gescheiden door een pauze van vijf minuten. Als je deze cyclus vier keer hebt voltooid, kun je een langere pauze van 20 minuten nemen.
De Pomodoro-techniek verhoogt de productiviteit, elimineert afleiding en vergroot de focus van een individu op het werk. Deze techniek rekent af met multitasking en beloont je met pauzes als beloning. Dit helpt u ontspannen en gemotiveerd te blijven om toegewijd door te gaan met uw werk.
De module Tkinter en Math
Om de Pomodoro Timer-applicatie te bouwen, hebt u de Tkinter- en de Math-module nodig. Tkinter is de standaard GUI-bibliotheek voor Python. Het biedt een verscheidenheid aan widgets zoals knoppen, labels en tekstvakken, zodat u in een mum van tijd apps kunt ontwikkelen. Om Tkinter te installeren, opent u een terminal en voert u uit:
pip installeer tkinter
De Math-module wordt geleverd in de standaard Python-bibliotheek en is erg handig bij het uitvoeren van wiskundige berekeningen. Het wordt geleverd met rekenkundige, trigonometrische, exponentiële, logaritmische, nutsfuncties en constanten zoals pi en e.
Hoe een Pomodoro Timer-app te bouwen met behulp van Python
Hierin vind je de broncode van de Pomodoro Timer App Using Python GitHub-opslagplaats.
Begin met het importeren van de Tkinter- en de Math-module. Initialiseer de Pomodoro werkefficiëntietijd, pauzetijd, lange pauzetijd, teller en timervariabelen. U gebruikt de variabele teller, vertegenwoordigers, om erachter te komen hoeveel Pomodoro-cycli de timer heeft voltooid.
van tkinter importeren *
importeren wiskunde
WERK_MIN = 25
KORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
herhalingen = 0
tijdklok = Geen
Definieer een functie, reset_timer(). Begin met het instellen van de Begin de status van de knop naar normaal om deze in te schakelen; je zult later zien waar je het kunt uitschakelen.
Roep de methode after_cancel() aan om de timerfunctie te stoppen. Gebruik de item_config() methode op het canvas om de op het scherm weergegeven timer op nul te zetten. Wijzig de titeltekst in "Timer" en kleur deze paars. Wis alle aanwezige vinkjes door de tekst in te stellen op de lege tekenreeks.
Verwijs naar de globale variabele reps en reset deze naar nul.
defreset_timer():
startknop["staat"] = "normaal"
root.after_cancel (timer)
canvas.itemconfig (timer_tekst, tekst="00:00")
titel_label.config (tekst="Timer", fg=#A020F0')
check_marks.config (tekst="")
globaal vertegenwoordigers
herhalingen = 0
Definieer een functie start_timer(). Hier schakel je de Begin knop om te voorkomen dat de gebruiker er opnieuw op klikt.
Ga verder door te verwijzen naar de global vertegenwoordigers variabele en verhogen. Krijg het aantal seconden voor het uitvoeren van uw werk, de korte pauze en de lange pauze. Als de tellervariabele geen rest overlaat wanneer deze wordt gedeeld door acht (vier Pomodoro-cycli waarbij één cyclus bestaat uit werk en een korte pauze), start de timer voor lange pauze en geef deze in blauw weer op het scherm kleur.
Evenzo, als de rest nul is bij deling door twee, begin dan en geef de timer voor korte pauzes weer in groene kleur. Begin anders met de werktimer en geef hetzelfde weer in rode kleur.
defstart_timer():
startknop["staat"] = "gehandicapt"
Definieer een functie, aftellen() dat accepteert tellen. Stel de minimale tellingsvariabele in als het dichtstbijzijnde kleine gehele getal bij de telling gedeeld door 60. Stel de tweede telling in als de telmodulus met 60. Als de seconden kleiner zijn dan 10, moet u er een extra nul voor weergeven. Stel het canvas in om de huidige minuut en tijd weer te geven zoals hierboven berekend.
Als de telling groter is dan nul, verwijs dan naar de globale timer en stel ask it in om de count_down-functie zelf terug te roepen na een vertraging van een seconde en verlaag de telling met één.
defaftellen(graaf):
count_min = math.floor (tel / 60)
count_sec = aantal % 60als tel_sec < 10:
tel_sec = f"0{count_sec}"canvas.itemconfig (timer_tekst, tekst=F"{count_min}:{count_sec}")
als tel > 0:
globaal timer
timer = wortel.na(1000, aftellen, tellen - 1)
Bel anders de start_timer() functie, zet de maatstreepjes op nul en bereken de werksessies als het kleinste getal dat het dichtst bij de teller ligt gedeeld door twee. Herhaal de werksessies en verhoog de maatstreepjes op de juiste manier. Configureer de check_marks() functie om de tekst weer te geven als de maatstreepvariabele.
anders:
start_timer()
merken = ""
work_sessions = wiskunde.vloer (reps / 2)voor _ in bereik (werk_sessies):
markeert += "✓"
check_marks.config (tekst=markeringen)
Initialiseer de Tkinter-instantie en geef het hoofdvenster weer. Stel de titel van uw toepassing in en configureer deze met opvulling in beide richtingen. Zet de achtergrond op lichtgeel.
wortel = Tk()
hoofdmap.titel("Pomodoro Timer-applicatie")
root.config (padx=100, padie=50, bg="#f7f5dd")
Definieer een labelwidget die de tekst weergeeft als Timer. Stel de lettertypekleur, achtergrondkleur en lettertypestijlen in. Gebruik de Grid layout manager om de elementen van de applicatie te ordenen. Plaats het titellabel in de eerste rij en tweede kolom.
title_label = Label (tekst="Timer", fg='#A020F0', bg="#f7f5dd", lettertype=("Ariel", 50))
titel_label.grid (kolom=1, rij=0)
Definieer een canvas met een breedte en hoogte van 200x224 pixels. Stel de randdikte in op nul. Gebruik de PhotoImage-widget om de afbeelding van een tomaat op een canvas weer te geven. Gebruik de Maak afbeelding() methode om de afbeelding op het canvas in te voegen.
Gebruik de maak_tekst() methode om de tijdtekst in te maken mm: ss formaat. Stel de breedte, hoogte, tekst, kleur en lettertypestijlen van de afteltijd in. Plaats deze in de tweede rij en de tweede kolom van het rooster.
canvas = Canvas (breedte=200, hoogte=224, highlightdikte=0)
tomato_img = FotoAfbeelding (bestand="tomaat.png")
canvas.create_image(100, 112, afbeelding=tomaat_img)
timer_text = canvas.create_text(100, 130, tekst="00:00", vullen="wit", lettertype=("Ariel", 35, "vetgedrukt"))
canvas.grid (kolom=1, rij=1)
Definieer twee knoppen, startknop, En reset knop. Stel de tekst in die moet worden weergegeven, geen rand, de functie die moet worden uitgevoerd wanneer erop wordt geklikt, de achtergrondkleur en de lettertypestijlen. Plaats de Start-knop in de eerste kolom, tweede rij en de Reset-knop in dezelfde kolom, derde rij.
start_button = Knop (tekst="Begin", highlightdikte=0, commando=start_timer, bg="#e7305b", lettertype=("arieel", 15, "vetgedrukt"))
start_button.grid (kolom=0, rij=2)
reset_button = Knop (tekst="Terugzetten", highlightdikte=0, commando = reset_timer, bg="#e7305b", lettertype=("arieel", 15, "vetgedrukt"))
reset_button.grid (kolom=2, rij=2)
Maak een label dat de vinkjes in eerste instantie weergeeft als geen. Stel de letterkleur, de achtergrondkleur en de letterstijlen in. Plaats het in de tweede kolom en vierde rij, onder de knoppen in het midden.
De Hoofdlus() functie vertelt Python om de Tkinter-gebeurtenislus uit te voeren en te luisteren naar gebeurtenissen totdat u het venster sluit.
check_marks = Label (tekst="", fg='#00FF00', bg="#f7f5dd", lettertype=("arieel", 25, "vetgedrukt"))
check_marks.grid (kolom=1, rij=3)
root.mainloop()
Zet alle code bij elkaar en probeer de Pomodoro Timer-applicatie uit.
Voorbeelduitvoer van de Pomodoro Timer-app
Wanneer u dit programma uitvoert, ziet u een venster met de titel "Timer" en een afteltimer ingesteld op nul. Als u op de knop Start klikt, verandert de titel in "Werk" en begint de timer af te tellen.
Na precies 25 minuten verschijnt het vinkje en start de applicatie de korte pauzetimer van vijf minuten.
Na vier Pomodoro-cycli wordt de Long Break-timer ingesteld op 20 minuten. Zodra de tijd voorbij is, begint de werktimer opnieuw.
Toepassingen die u kunt bouwen met de module Math en Tkinter
Er is een overvloed aan applicaties die u kunt bouwen met Tkinter en de Math-module. Beginners kunnen het platform verkennen door een rekenmachine te bouwen. De rekenmachine kan van verschillende typen zijn, waaronder rekenkundig, meetkundig, grafisch en financieel. U kunt wiskundige flashcards en wiskundige probleemgeneratoren maken die een gebruiker kan oplossen.
Een toolbox voor het converteren van getallenstelsels, trigonometrie en statistiek kan handig zijn om wiskunde op een eenvoudigere en leukere manier te oefenen.