Questo utile strumento può aiutarti a lavorare in modo più produttivo e puoi crearlo tu stesso utilizzando Tkinter.
La tecnica del pomodoro è una tecnica di gestione del tempo sviluppata da Francesco Cirillo. Implica l'utilizzo di un timer per suddividere il lavoro in intervalli di 25 minuti separati da una pausa di cinque minuti. Una volta completato questo ciclo quattro volte, puoi fare una pausa più lunga di 20 minuti.
La tecnica del pomodoro aumenta la produttività, elimina le distrazioni e aumenta l'attenzione individuale sul lavoro. Questa tecnica elimina il multitasking e ti premia con pause come ricompensa. Questo ti aiuta a rimanere rilassato e motivato a continuare il tuo lavoro con dedizione.
Il modulo Tkinter e matematica
Per costruire l'applicazione Pomodoro Timer, hai bisogno di Tkinter e del modulo Math. Tkinter è la libreria GUI standard per Python. Offre una varietà di widget come pulsanti, etichette e caselle di testo, così puoi sviluppare app in pochissimo tempo. Per installare Tkinter, apri un terminale ed esegui:
pip installa tkinter
Il modulo Math è disponibile nella libreria Python standard e è molto utile per eseguire calcoli matematici. Viene fornito con funzioni aritmetiche, trigonometriche, esponenziali, logaritmiche, di utilità e costanti come pi ed e.
Come costruire un'app timer Pomodoro usando Python
Puoi trovare il codice sorgente dell'app Pomodoro Timer utilizzando Python in questo Deposito GitHub.
Inizia importando Tkinter e il modulo Math. Inizializza le variabili tempo di efficienza del lavoro Pomodoro, tempo di pausa, tempo di pausa lunga, contatore e timer. Userai la variabile contatore, ripetizioni, per calcolare il numero di cicli Pomodoro completati dal timer.
da tkinter importare *
importare matematica
LAVORO_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
ripetizioni = 0
timer = Nessuno
Definire una funzione, reset_timer(). Inizia impostando il Inizio lo stato del pulsante su normale per abilitarlo; vedrai più avanti dove disabilitarlo.
Richiamare il metodo after_cancel() per arrestare la funzione timer. Usa il item_config() metodo sulla tela per azzerare il timer visualizzato sullo schermo. Cambia il testo del titolo in "Timer" e coloralo di viola. Cancellare tutti i segni di spunta presenti impostando il testo sulla stringa vuota.
Fai riferimento alla variabile globale reps e reimpostala su zero.
defreset_timer():
pulsante Start["stato"] = "normale"
root.after_cancel (timer)
canvas.itemconfig (timer_text, text="00:00")
title_label.config (testo="Timer", fg=#A020F0')
check_marks.config (testo="")
globale ripetizioni
ripetizioni = 0
Definire una funzione start_timer(). Qui è dove disabiliterai il Inizio pulsante per impedire all'utente di fare nuovamente clic su di esso.
Continua facendo riferimento al global ripetizioni variabile e incrementandola. Ottieni il numero di secondi per eseguire il tuo lavoro, la pausa breve e la pausa lunga. Se la variabile contatore non lascia resto se divisa per otto (quattro cicli Pomodoro dove un ciclo consiste in lavoro e una breve pausa), avvia il timer della pausa lunga e visualizzalo sullo schermo in blu colore.
Allo stesso modo, se il resto è zero quando diviso per due, inizia e visualizza il timer della pausa breve in colore verde. Altrimenti, avvia il timer di lavoro e visualizza lo stesso in colore rosso.
defstart_timer():
pulsante Start["stato"] = "Disabilitato"
Definire una funzione, conto alla rovescia() che accetta il conteggio. Imposta la variabile di conteggio minimo come il numero intero piccolo più vicino al conteggio diviso per 60. Imposta il secondo conteggio come modulo di conteggio per 60. Se i secondi sono inferiori a 10, visualizza uno zero in più davanti ad esso. Imposta la tela per visualizzare il minuto e l'ora correnti come calcolato sopra.
Se il conteggio è maggiore di zero, fai riferimento al timer globale e imposta chiedi di richiamare la funzione count_down stessa dopo un ritardo di un secondo e diminuisci il conteggio di uno.
defconto alla rovescia(contare):
count_min = math.floor (conteggio / 60)
count_sec = conteggio % 60Se count_sec < 10:
count_sec = f"0{count_sec}"canvas.itemconfig (timer_text, text=F"{count_min}:{count_sec}")
Se conta > 0:
globale Timer
timer = root.after(1000, conto_alla rovescia, conto - 1)
Altrimenti chiama il start_timer() funzione, imposta i segni di graduazione su zero e calcola le sessioni di lavoro come il più piccolo numero intero più vicino al contatore diviso per due. Scorri le sessioni di lavoro e aumenta i segni di graduazione in modo appropriato. Configura il check_marks() funzione per visualizzare il testo come variabile del segno di graduazione.
altro:
start_timer()
segni = ""
sessioni_lavoro = math.floor (ripetizioni / 2)per _ In intervallo (work_sessions):
segni += "✓"
check_marks.config (testo=segni)
Inizializza l'istanza Tkinter e visualizza la finestra principale. Imposta il titolo della tua applicazione e configuralo per avere un riempimento in entrambe le direzioni. Imposta lo sfondo su giallo chiaro.
radice = Tk()
radice.titolo("Applicazione Timer Pomodoro")
root.config (padx=100, pady=50, bg="#f7f5dd")
Definire un widget etichetta che visualizzi il testo come Timer. Imposta il colore del carattere, il colore di sfondo e gli stili del carattere. Utilizzare il gestore del layout della griglia per organizzare gli elementi dell'applicazione. Posiziona l'etichetta del titolo nella prima riga e nella seconda colonna.
title_label = Etichetta (testo="Timer", fg='#A020F0', bg="#f7f5dd", carattere=("Arial", 50))
title_label.grid (colonna=1, riga=0)
Definisci una tela con una larghezza e un'altezza di 200x224 pixel. Imposta lo spessore del bordo su zero. Usa il widget PhotoImage per visualizzare l'immagine di un pomodoro su una tela. Usa il crea_immagine() metodo per inserire l'immagine sulla tela.
Usa il crea_testo() metodo per creare il testo dell'ora in mm: ss formato. Imposta la larghezza, l'altezza, il testo, il colore e gli stili dei caratteri del conto alla rovescia. Posizionalo nella seconda riga e nella seconda colonna della griglia.
canvas = Tela (larghezza=200, altezza=224, highlightthickness=0)
tomato_img = FotoImmagine (file="pomodoro.png")
canvas.create_image(100, 112, immagine=pomodoro_img)
timer_text = canvas.create_text(100, 130, testo="00:00", riempire="bianco", carattere=("Arial", 35, "grassetto"))
canvas.grid (colonna=1, riga=1)
Definisci due pulsanti, pulsante Start, E pulsante di reset. Imposta il testo che dovrebbe visualizzare, senza bordo, la funzione che dovrebbe eseguire quando si fa clic, il colore di sfondo e gli stili del carattere. Posizionare il pulsante Avvia nella prima colonna, seconda riga e il pulsante Ripristina nella stessa colonna, terza riga.
start_button = Pulsante (testo="Inizio", highlightthickness=0, comando=start_timer, bg="#e7305b", carattere=("ariale", 15, "grassetto"))
start_button.grid (colonna=0, riga=2)
reset_button = Pulsante (testo="Ripristina", highlightthickness=0, comando = reset_timer, bg="#e7305b", carattere=("ariale", 15, "grassetto"))
reset_button.grid (colonna=2, riga=2)
Crea un'etichetta che inizialmente visualizzi i segni di spunta come nessuno. Imposta il colore del carattere, il colore di sfondo e gli stili del carattere. Posizionalo nella seconda colonna e nella quarta riga, sotto i pulsanti al centro.
IL ciclo principale() La funzione dice a Python di eseguire il ciclo di eventi Tkinter e di ascoltare gli eventi finché non chiudi la finestra.
check_marks = Etichetta (testo="", fg='#00FF00', bg="#f7f5dd", carattere=("ariale", 25, "grassetto"))
check_marks.grid (colonna=1, riga=3)
root.mainloop()
Metti insieme tutto il codice e prova l'applicazione Pomodoro Timer.
Esempio di output dell'app Pomodoro Timer
Quando esegui questo programma, vedrai una finestra con il titolo "Timer" e un conto alla rovescia impostato su zero. Facendo clic sul pulsante Avvia, il titolo cambia in "Lavoro" e il timer inizia il conto alla rovescia.
Dopo esattamente 25 minuti, viene visualizzato il segno di spunta e l'applicazione avvia il timer di pausa breve di cinque minuti.
Dopo quattro cicli di Pomodoro, il timer Pausa Lunga si attiva per 20 minuti. Una volta terminato il tempo, il timer di lavoro ricomincia.
Applicazioni che puoi creare utilizzando il modulo Math e Tkinter
C'è una miriade di applicazioni che puoi costruire usando Tkinter e il modulo Math. I principianti possono esplorare la piattaforma costruendo una calcolatrice. La calcolatrice può essere di vari tipi tra cui aritmetica, geometrica, grafica e finanziaria. Puoi creare flashcard matematiche e generatori di problemi matematici che un utente può risolvere.
Un convertitore di sistema numerico, trigonometria e strumenti di statistica possono rivelarsi utili per praticare la matematica in modo più semplice e divertente.