Esta ferramenta útil pode ajudá-lo a trabalhar de forma mais produtiva e você mesmo pode construí-la usando o Tkinter.

A técnica Pomodoro é uma técnica de gerenciamento de tempo desenvolvida por Francesco Cirillo. Envolve o uso de um cronômetro para dividir o trabalho em intervalos de 25 minutos separados por uma pausa de cinco minutos. Depois de completar este ciclo quatro vezes, você pode fazer uma pausa mais longa de 20 minutos.

A técnica Pomodoro aumenta a produtividade, elimina as distrações e aumenta o foco do indivíduo no trabalho. Essa técnica elimina a multitarefa e o recompensa com pausas como recompensa. Isso ajuda você a ficar relaxado e motivado para continuar seu trabalho com dedicação.

O Módulo Tkinter e Matemática

Para construir o aplicativo Pomodoro Timer, você precisa do Tkinter e do módulo Math. Tkinter é a biblioteca GUI padrão para Python. Ele oferece uma variedade de widgets como botões, rótulos e caixas de texto, para que você possa desenvolver aplicativos rapidamente. Para instalar o Tkinter, abra um terminal e execute:

pip instalar tkinter

O módulo Math vem na biblioteca Python padrão e é muito útil na realização de cálculos matemáticos. Ele vem com funções aritméticas, trigonométricas, exponenciais, logarítmicas, utilitárias e constantes como pi e e.

Como construir um aplicativo Pomodoro Timer usando Python

Você pode encontrar o código-fonte do aplicativo Pomodoro Timer usando Python neste Repositório GitHub.

Comece importando o Tkinter e o módulo Math. Inicialize as variáveis ​​de tempo de eficiência de trabalho do Pomodoro, tempo de pausa, tempo de pausa longa, contador e temporizador. Você usará a variável contadora, repetições, para descobrir o número de ciclos Pomodoro que o cronômetro completou.

de tkinter importar *
importar matemática

TRABALHO_MIN = 25
SHORT_BREAK_MIN = 5
LONG_BREAK_MIN = 20
repetições = 0
temporizador = Nenhum

Defina uma função, reset_timer(). Comece definindo o Começar estado do botão para normal para habilitá-lo; você verá mais tarde onde desativá-lo.

Invoque o método after_cancel() para parar a função de timer. Use o item_config() método na tela para zerar o cronômetro exibido na tela. Altere o texto do título para "Timer" e pinte-o de roxo. Desmarque todas as marcas de seleção presentes definindo o texto como uma string vazia.

Faça referência à variável global reps e redefina-a para zero.

defreset_timer():
botão de início["estado"] = "normal"
root.after_cancel (temporizador)
canvas.itemconfig (timer_text, text="00:00")
title_label.config (texto="Cronômetro", fg =#A020F0')
check_marks.config (texto="")
global repetições
repetições = 0

Definir uma função start_timer(). É aqui que você desativará o Começar para evitar que o usuário clique nele novamente.

Continue fazendo referência ao global repetições variável e incrementá-la. Obtenha o número de segundos para realizar seu trabalho, o intervalo curto e o intervalo longo. Se a variável contadora não deixa resto quando dividida por oito (quatro ciclos Pomodoro onde um ciclo consiste em trabalho e uma pequena pausa), inicie o cronômetro de pausa longa e exiba-o na tela em Azul cor.

Da mesma forma, se o restante for zero quando dividido por dois, inicie e exiba o cronômetro de pausa curta na cor verde. Caso contrário, inicie o cronômetro de trabalho e exiba o mesmo na cor vermelha.

defstart_timer():
botão de início["estado"] = "desabilitado"

Defina uma função, contagem regressiva() que aceita contagem. Defina a variável de contagem mínima como o inteiro pequeno mais próximo da contagem dividida por 60. Defina a segunda contagem como o módulo de contagem por 60. Se os segundos forem menores que 10, exiba um zero extra na frente dele. Defina a tela para exibir o minuto e a hora atuais conforme calculado acima.

Se a contagem for maior que zero, faça referência ao cronômetro global e defina o callback da própria função count_down após um atraso de um segundo e diminua a contagem em um.

defcontagem regressiva(contar):
count_min = math.floor (count / 60)
contagem_sec = contagem % 60

se contagem_sec < 10:
contagem_sec = f"0{count_sec}"

canvas.itemconfig (timer_text, text=f"{count_min}:{count_sec}")

se contar > 0:
global cronômetro
timer = root.after(1000, contagem regressiva, contagem - 1)

Caso contrário, ligue para o start_timer() função, defina as marcas de escala para zero e calcule as sessões de trabalho como o menor inteiro mais próximo do contador dividido por dois. Repita as sessões de trabalho e aumente as marcas de escala apropriadamente. Configurar o check_marks() função para exibir o texto como a variável de marca de escala.

outro:
start_timer()
marcas = ""
work_sessions = math.floor (repetições / 2)

para _ em intervalo (work_sessions):
marca += "✓"

check_marks.config (texto=marcas)

Inicialize a instância do Tkinter e exiba a janela raiz. Defina o título do seu aplicativo e configure-o para ter algum preenchimento em ambas as direções. Defina o fundo como amarelo claro.

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

Defina um widget de rótulo que exiba o texto como Timer. Defina sua cor de fonte, cor de fundo e estilos de fonte. Use o gerenciador de layout Grid para organizar os elementos do aplicativo. Coloque o rótulo do título na primeira linha e na segunda coluna.

title_label = Rótulo (texto ="Cronômetro", fg ='#A020F0', bg ="#f7f5dd", fonte=("Arial", 50))
title_label.grid (coluna=1, linha=0)

Defina uma tela com largura e altura de 200x224 pixels. Defina a espessura da borda como zero. Use o widget PhotoImage para exibir a imagem de um tomate em uma tela. Use o criar imagem() método para inserir a imagem na tela.

Use o criar_texto() método para criar o texto de tempo em mm: ss formatar. Defina a largura, altura, texto, cor e estilos de fonte do tempo de contagem regressiva. Coloque isso na segunda linha e na segunda coluna da grade.

tela = tela (largura =200, altura=224, espessura de destaque =0)
tomato_img = FotoImagem (arquivo="tomate.png")
canvas.create_image(100, 112, imagem=tomato_img)
timer_text = canvas.create_text(100, 130, texto="00:00", preencha="branco", fonte=("Arial", 35, "audacioso"))
canvas.grid (coluna=1, linha=1)

Defina dois botões, botão de início, e botão de reset. Defina o texto que deve ser exibido, sem borda, a função que deve executar quando clicado, a cor de fundo e os estilos de fonte. Posicione o botão Iniciar na primeira coluna, segunda linha e o botão Reiniciar na mesma coluna, terceira linha.

start_button = Botão (texto ="Começar", espessura de destaque =0, comando=start_timer, bg="#e7305b", fonte=("arial", 15, "audacioso"))
start_button.grid (coluna=0, linha=2)

reset_button = Botão (texto ="Reiniciar", espessura de destaque =0, comando = reset_timer, bg="#e7305b", fonte=("arial", 15, "audacioso"))
reset_button.grid (coluna=2, linha=2)

Crie um rótulo que inicialmente exiba as marcas de seleção como nenhum. Defina a cor da fonte, a cor de fundo e os estilos de fonte. Coloque-o na segunda coluna e na quarta linha, abaixo dos botões no meio.

O circuito principal() A função diz ao Python para executar o loop de eventos Tkinter e escutar os eventos até que você feche a janela.

check_marks = Rótulo (texto ="", fg ='#00FF00', bg ="#f7f5dd", fonte=("arial", 25, "audacioso"))
check_marks.grid (coluna=1, linha=3)

root.mainloop()

Junte todo o código e experimente o aplicativo Pomodoro Timer.

Exemplo de saída do aplicativo Pomodoro Timer

Ao executar este programa, você verá uma janela com o título "Timer" e uma contagem regressiva definida como zero. Ao clicar no botão Iniciar, o título muda para "Trabalho" e o cronômetro começa a contagem regressiva.

Após exatamente 25 minutos, a marca de seleção aparece e o aplicativo inicia o curto intervalo de cinco minutos.

Após quatro ciclos de Pomodoro, o cronômetro Long Break é ativado por 20 minutos. Terminado o tempo, o cronômetro de trabalho recomeça.

Aplicativos que você pode criar usando o módulo Math e Tkinter

Existe uma infinidade de aplicativos que você pode criar usando o Tkinter e o módulo Math. Iniciantes podem explorar a plataforma construindo uma calculadora. A calculadora pode ser de vários tipos, incluindo aritmética, geométrica, gráfica e financeira. Você pode criar flashcards de matemática e geradores de problemas de matemática para um usuário resolver.

Um conversor de sistema numérico, trigonometria e caixa de ferramentas de estatística pode ser útil para praticar matemática de maneira mais simples e divertida.