Esta útil herramienta puede ayudarlo a trabajar de manera más productiva y puede construirla usted mismo usando Tkinter.

La técnica Pomodoro es una técnica de gestión del tiempo desarrollada por Francesco Cirillo. Implica el uso de un temporizador para dividir el trabajo en intervalos de 25 minutos separados por un descanso de cinco minutos. Una vez que complete este ciclo cuatro veces, puede tomar un descanso más largo de 20 minutos.

La técnica Pomodoro aumenta la productividad, elimina las distracciones y aumenta el enfoque de un individuo en el trabajo. Esta técnica elimina la multitarea y lo recompensa con descansos como recompensa. Esto le ayuda a mantenerse relajado y motivado para continuar con su trabajo con dedicación.

El Módulo Tkinter y Matemáticas

Para construir la aplicación de temporizador Pomodoro, necesita Tkinter y el módulo Math. Tkinter es la biblioteca GUI estándar para Python. Ofrece una variedad de widgets como botones, etiquetas y cuadros de texto, para que pueda desarrollar aplicaciones en poco tiempo. Para instalar Tkinter, abre una terminal y ejecuta:

instagram viewer
pip instalar tkinter

El módulo Math viene en la biblioteca estándar de Python y es muy útil para realizar cálculos matemáticos. Viene con funciones aritméticas, trigonométricas, exponenciales, logarítmicas, de utilidad y constantes como pi y e.

Cómo construir una aplicación de temporizador Pomodoro usando Python

Puede encontrar el código fuente de la aplicación Pomodoro Timer usando Python en este repositorio GitHub.

Comience importando Tkinter y el módulo Math. Inicialice las variables de tiempo de eficiencia de trabajo, tiempo de descanso, tiempo de descanso prolongado, contador y temporizador de Pomodoro. Usarás la variable contador, repeticiones, para calcular el número de ciclos de Pomodoro que ha completado el temporizador.

de tkinter importar *
importar matemáticas

TRABAJO_MIN = 25
CORTO_BREAK_MIN = 5
LONG_BREAK_MIN = 20
repeticiones = 0
temporizador = Ninguno

Definir una función, reset_timer(). Comience configurando el Comenzar el estado del botón a normal para habilitarlo; Verás más adelante dónde desactivarlo.

Invoque el método after_cancel() para detener la función del temporizador. Utilizar el item_config() en el lienzo para restablecer el temporizador que se muestra en la pantalla a cero. Cambia el texto del título a "Temporizador" y coloréalo de púrpura. Borre todas las marcas de verificación presentes configurando el texto en la cadena vacía.

Haga referencia a la variable global reps y reiníciela a cero.

definitivamenterestablecer_temporizador():
botón de inicio["estado"] = "normal"
root.after_cancel (temporizador)
lienzo.itemconfig (timer_text, text="00:00")
title_label.config (texto="Temporizador", fg=#A020F0')
check_marks.config (texto="")
global repeticiones
repeticiones = 0

Definir una función start_timer(). Aquí es donde desactivará el Comenzar para evitar que el usuario vuelva a hacer clic en él.

Continúe haciendo referencia al global repeticiones variable e incrementándola. Obtenga la cantidad de segundos para realizar su trabajo, el descanso corto y el descanso largo. Si la variable de contador no deja resto cuando se divide por ocho (cuatro ciclos de Pomodoro donde un ciclo consta de trabajo y una breve sesión de descanso), inicie el temporizador de descanso largo y muéstrelo en la pantalla en azul color.

De manera similar, si el resto es cero cuando se divide por dos, comience y muestre el temporizador de descanso corto en color verde. De lo contrario, inicie el temporizador de trabajo y muestre el mismo en color rojo.

definitivamenteinicio_temporizador():
botón de inicio["estado"] = "desactivado"

Definir una función, cuenta regresiva() que acepta contar. Establezca la variable de conteo mínimo como el entero pequeño más cercano al conteo dividido por 60. Establezca la segunda cuenta como el módulo de cuenta por 60. Si los segundos son menos de 10, muestre un cero extra delante de ellos. Configure el lienzo para que muestre el minuto y la hora actuales como se calculó anteriormente.

Si el conteo es mayor que cero, haga referencia al temporizador global y pídale que devuelva la llamada a la función count_down después de un retraso de un segundo y reduzca el conteo en uno.

definitivamentecuenta regresiva(contar):
cuenta_min = matemáticas.piso (cuenta / 60)
contar_seg = contar % 60

si cuenta_seg < 10:
contar_seg = f"0{conteo_seg}"

lienzo.itemconfig (timer_text, text=F"{contar_min}:{conteo_seg}")

si contar > 0:
global Temporizador
temporizador = raíz.después(1000, cuenta atrás, cuenta - 1)

De lo contrario, llame al start_timer() establezca las marcas en cero y calcule las sesiones de trabajo como el entero más pequeño más cercano al contador dividido por dos. Repita las sesiones de trabajo y aumente las marcas de verificación de manera adecuada. Configurar el marcas de verificación() función para mostrar el texto como la variable de marca de verificación.

demás:
start_timer()
marcas = ""
sesiones_trabajo = matemáticas.piso (repeticiones / 2)

para _ en rango (work_sessions):
marcas += "✓"

check_marks.config (texto=marcas)

Inicialice la instancia de Tkinter y muestre la ventana raíz. Establezca el título de su aplicación y configúrelo para que tenga algo de relleno en ambas direcciones. Establezca el fondo en amarillo claro.

raíz = Tk()
raíz.título("Aplicación de temporizador Pomodoro")
raíz.config (padx=100, pady=50, bg="#f7f5dd")

Defina un widget de etiqueta que muestre el texto como Temporizador. Establezca su color de fuente, color de fondo y estilos de fuente. Utilice el administrador de diseño de cuadrícula para organizar los elementos de la aplicación. Coloque la etiqueta del título en la primera fila y la segunda columna.

title_label = Etiqueta (texto="Temporizador", fg='#A020F0', bg="#f7f5dd", fuente=("arial", 50))
title_label.grid (columna=1, fila=0)

Defina un lienzo con un ancho y alto de 200x224 píxeles. Establezca el grosor del borde en cero. Utilice el widget PhotoImage para mostrar la imagen de un tomate en un lienzo. Utilizar el crear imagen() método para insertar la imagen en el lienzo.

Utilizar el crear_texto() método para crear el texto de tiempo en mm: ss formato. Establezca el ancho, la altura, el texto, el color y los estilos de fuente del tiempo de cuenta regresiva. Colóquelo en la segunda fila y en la segunda columna de la cuadrícula.

lienzo = lienzo (ancho =200, altura=224, grosor de resaltado =0)
tomate_img = FotoImagen (archivo="tomate.png")
lienzo.create_image(100, 112, imagen=tomate_img)
timer_text = canvas.create_text(100, 130, texto="00:00", llenar ="blanco", fuente=("arial", 35, "atrevido"))
canvas.grid (columna=1, fila=1)

Defina dos botones, botón de inicio, y Botón de reinicio. Establezca el texto que debe mostrar, sin borde, la función que debe ejecutar al hacer clic, el color de fondo y los estilos de fuente. Coloque el botón Inicio en la primera columna, segunda fila y el botón Restablecer en la misma columna, tercera fila.

start_button = Botón (texto="Comenzar", grosor de resaltado =0, comando=temporizador_inicio, bg="#e7305b", fuente=("arial", 15, "atrevido"))
start_button.grid (columna=0, fila=2)

reset_button = Botón (texto="Reiniciar", grosor de resaltado =0, comando = reset_timer, bg="#e7305b", fuente=("arial", 15, "atrevido"))
reset_button.grid (columna=2, fila=2)

Cree una etiqueta que inicialmente muestre las marcas de verificación como ninguna. Establezca el color de fuente, el color de fondo y los estilos de fuente. Colócalo en la segunda columna y cuarta fila, debajo de los botones del medio.

El bucle principal() La función le dice a Python que ejecute el ciclo de eventos de Tkinter y escuche los eventos hasta que cierre la ventana.

check_marks = Etiqueta (texto="", fg='#00FF00', bg="#f7f5dd", fuente=("arial", 25, "atrevido"))
check_marks.grid (columna=1, fila=3)

raíz.mainloop()

Reúna todo el código y pruebe la aplicación Pomodoro Timer.

Ejemplo de salida de la aplicación Pomodoro Timer

Cuando ejecute este programa, verá una ventana con el título "Temporizador" y un temporizador de cuenta regresiva establecido en cero. Al hacer clic en el botón Inicio, el título cambia a "Trabajo" y el temporizador comienza a contar hacia atrás.

Después de exactamente 25 minutos, aparece la marca de verificación y la aplicación inicia el temporizador de descanso breve de cinco minutos.

Después de cuatro ciclos de Pomodoro, el temporizador Long Break se activa durante 20 minutos. Una vez finalizado el tiempo, el temporizador de trabajo comienza de nuevo.

Aplicaciones que puede crear con el módulo Math y Tkinter

Hay una gran cantidad de aplicaciones que puede crear con Tkinter y el módulo Math. Los principiantes pueden explorar la plataforma construyendo una calculadora. La calculadora puede ser de varios tipos, incluyendo aritmética, geométrica, gráfica y financiera. Puede crear tarjetas didácticas de matemáticas y generadores de problemas matemáticos para que los resuelva un usuario.

Una caja de herramientas de conversión de sistemas numéricos, trigonometría y estadísticas puede resultar útil para practicar matemáticas de una manera más simple y divertida.