import tkinter as tk
import time
# Criando a janela principal
root = tk.Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Cronômetro")
# Título
titulo = tk.Label(text="Cronômetro", font=("Arial", "28", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.23, rely=0.05)
# Variáveis
tempo_inicial = 0
tempo_total = 0
rodando = False
pausado = False
# Função para atualizar o tempo
def atualizar():
if rodando:
tempo_decorrido = time.time() - tempo_inicial + tempo_total
minutos = int(tempo_decorrido // 60)
segundos = int(tempo_decorrido % 60)
display.config(text=f"{minutos:02}:{segundos:02}")
root.after(1000, atualizar) # Atualizar a cada 1 segundo
# Função para iniciar o cronômetro
def play():
global tempo_inicial, rodando, pausado
if not rodando:
if pausado:
tempo_inicial = time.time() # Retoma o tempo de onde parou
pausado = False
else:
tempo_inicial = time.time() # Inicia o cronômetro
rodando = True
atualizar() # Começa a contagem
play_button.config(state=tk.DISABLED) # Desabilita o botão "Play"
pause_button.config(state=tk.NORMAL) # Habilita o botão "Pausar"
reiniciar_button.config(state=tk.NORMAL) # Habilita o botão "Reiniciar"
# Função para pausar o cronômetro
def pausa():
global tempo_total, rodando, pausado
tempo_total += time.time() - tempo_inicial # Atualiza o tempo total
rodando = False
pausado = True
pause_button.config(state=tk.DISABLED) # Desabilita o botão "Pausar"
reiniciar_button.config(state=tk.NORMAL) # Habilita o botão "Reiniciar"
play_button.config(state=tk.NORMAL) # Habilita o botão "Play"
# Função para reiniciar o cronômetro
def reiniciar():
global tempo_inicial, tempo_total, rodando, pausado
tempo_inicial = 0
tempo_total = 0
rodando = False
pausado = False
display.config(text="00:00") # Reseta o cronômetro
play_button.config(state=tk.NORMAL) # Habilita o botão "Play"
pause_button.config(state=tk.DISABLED) # Desabilita o botão "Pausar"
reiniciar_button.config(state=tk.DISABLED) # Desabilita o botão "Reiniciar"
display = tk.Label(root, text="00:00", font=("Arial", 45, "bold"), bg="#103030", fg="#49e3e3")
display.place(relx=0.3, rely=0.3)
# Botões
play_button = tk.Button(root, text="Play", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'), command=play)
play_button.place(relx=0.1, rely=0.65, relwidth=0.25, relheight=0.1)
pause_button = tk.Button(root, text="Pausar", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'), command=pausa)
pause_button.place(relx=0.4, rely=0.65, relwidth=0.25, relheight=0.1)
pause_button.config(state=tk.DISABLED) # Inicialmente desabilitado
reiniciar_button = tk.Button(root, text="Reiniciar", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'), command=reiniciar)
reiniciar_button.place(relx=0.7, rely=0.65, relwidth=0.25, relheight=0.1)
reiniciar_button.config(state=tk.DISABLED) # Inicialmente desabilitado
# Iniciando o loop da interface gráfica
root.mainloop()