import tkinter as tk
from tkinter import ttk
from datetime import datetime
class RastreadorHorasApp:
def __init__(self, root):
self.root = root
self.root.title("Rastreador de Horas de Trabalho")
self.inicio_label = ttk.Label(root, text="Hora de Início:")
self.inicio_entry = ttk.Entry(root, width=20)
self.termino_label = ttk.Label(root, text="Hora de Término:")
self.termino_entry = ttk.Entry(root, width=20)
self.registrar_button = ttk.Button(root, text="Registrar Horas", command=self.registrar_horas)
self.total_label = ttk.Label(root, text="Total de Horas Trabalhadas:")
self.total_var = tk.StringVar()
self.total_horas_label = ttk.Label(root, textvariable=self.total_var, font=("Arial", 12, "bold"))
# Layout
self.inicio_label.grid(row=0, column=0, pady=10, padx=10, sticky="e")
self.inicio_entry.grid(row=0, column=1, pady=10, padx=10)
self.termino_label.grid(row=1, column=0, pady=10, padx=10, sticky="e")
self.termino_entry.grid(row=1, column=1, pady=10, padx=10)
self.registrar_button.grid(row=2, column=0, columnspan=2, pady=10)
self.total_label.grid(row=3, column=0, pady=10, padx=10, sticky="e")
self.total_horas_label.grid(row=3, column=1, pady=10, padx=10, sticky="w")
def registrar_horas(self):
hora_inicio_str = self.inicio_entry.get()
hora_termino_str = self.termino_entry.get()
try:
hora_inicio = datetime.strptime(hora_inicio_str, "%H:%M")
hora_termino = datetime.strptime(hora_termino_str, "%H:%M")
diferenca = hora_termino - hora_inicio
total_horas = diferenca.total_seconds() / 3600 # Converter para horas
self.total_var.set(f"{total_horas:.2f} horas")
except ValueError:
self.total_var.set("Formato de hora inválido. Use HH:MM")
def main():
root = tk.Tk()
app = RastreadorHorasApp(root)
root.mainloop()
if __name__ == "__main__":
main()