from tkinter import *
from datetime import datetime, timedelta
root = Tk()
root.geometry("500x400")
root.resizable(0, 0)
root.config(bg="#d9ead3")
root.title("Diferença entre horas")
def limpar():
Hora_Inicial_entrada.delete(0, END)
Hora_final_entrada.delete(0, END)
def app():
h_inicial = str(Hora_Inicial.get())
h_final = str(Hora_final.get())
hora_inicial = datetime.strptime(h_inicial, '%H:%M')
hora_final = datetime.strptime(h_final, '%H:%M')
if hora_inicial > hora_final:
hora_final += timedelta(days=1)
diferenca_horas = hora_final - hora_inicial
horas = diferenca_horas.seconds // 3600
minutos = (diferenca_horas.seconds // 60) % 60
mensagem = f"A diferença de horas é: {horas} horas e {minutos} minutos."
resultado.set(mensagem)
titulo = Label(text="Diferença entre horas",
font=("Arial", "20", "bold"),bg="#d9ead3",fg="#bf9000")
titulo.place(relx=0.15, rely=0.05)
texto_sub1 = Label(text="Hora Inicial (h:min):",
font=("Arial", "12", "bold"),bg="#d9ead3",fg="#bf9000")
texto_sub1.place(relx=0.25, rely=0.25)
texto_sub2 = Label(text="Hora Final(h:min):",
font=("Arial", "12", "bold"),bg="#d9ead3",fg="#bf9000")
texto_sub2.place(relx=0.25, rely=0.45)
Hora_Inicial = StringVar()
Hora_Inicial_entrada = Entry(textvariable=Hora_Inicial,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Hora_Inicial_entrada.place(relx=0.55, rely=0.25, relwidth=0.3)
Hora_final = StringVar()
Hora_final_entrada = Entry(textvariable=Hora_final,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Hora_final_entrada.place(relx=0.55, rely=0.45, relwidth=0.3)
#
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.05, rely=0.55, relwidth=0.25, relheight=0.1)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.35, rely=0.55, relwidth=0.25, relheight=0.1)
but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.65, rely=0.55, relwidth=0.25, relheight=0.1)
resultado = StringVar()
resultado_texto = Label(textvariable=resultado,
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.75, relwidth=0.9,relheight=0.15)
root.mainloop()