Mundo em Python

Idade humanos ↔ Idade cavalos

from tkinter import *
from tkinter import ttk root = Tk() class AppConverter:
def __init__(self):
self.root = root
self.janela()
self.frames_da_janela()
self.widgets_frame1()
self.Menus()
root.mainloop() def janela(self):
self.root.title("Idade humanos ↔ cavalos")
self.root.configure(background='#1e3743')
self.root.geometry("500x250")
self.root.resizable(0, 0) def frames_da_janela(self):
self.frame_1 = Frame(self.root, bd=4, bg='#dfe3ee',
highlightbackground='#759fe6', highlightthickness=2)
self.frame_1.place(relx=0.02, rely=0.02, relwidth=0.96, relheight=0.96) def widgets_frame1(self):
self.abas = ttk.Notebook(self.frame_1)
self.Idade_cavalo_para_humano = Frame(self.abas)
self.Idade_humano_para_cavalo = Frame(self.abas) self.Idade_cavalo_para_humano.configure(bg="#dfe3ee")
self.Idade_humano_para_cavalo.configure(bg="#dfe3ee") self.abas.add(self.Idade_cavalo_para_humano, text="Cavalo → Humano")
self.abas.add(self.Idade_humano_para_cavalo, text="Humano → Cavalo")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98) self.Idade_cavalo1 = StringVar()
Label(self.Idade_cavalo_para_humano, text="Anos de Cavalo",
bg='#dfe3ee', fg='#107db2', font=("Arial", 15, "bold")).place(relx=0.05, rely=0.05) Entry(self.Idade_cavalo_para_humano, textvariable=self.Idade_cavalo1,
justify='center', font=("Arial", 15, "bold")).place(relx=0.45, rely=0.05, relwidth=0.35) Button(self.Idade_cavalo_para_humano, text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=self.butaoclick1).place(relx=0.3, rely=0.3, relwidth=0.45, relheight=0.2) self.resultado_anos_humanos = StringVar()
Label(self.Idade_cavalo_para_humano, textvariable=self.resultado_anos_humanos,
font=("Arial", 15, "bold"), bg='#dfe3ee', fg='#107db2').place(relx=0.4, rely=0.7) Label(self.Idade_cavalo_para_humano, text="Anos Humanos", font=("Arial", 15, "bold"),
bg='#dfe3ee', fg='#107db2').place(relx=0.05, rely=0.7) self.humanos_idade = StringVar()
Label(self.Idade_humano_para_cavalo, text="Anos Humanos",
bg='#dfe3ee', fg='#107db2', font=("Arial", 15, "bold")).place(relx=0.05, rely=0.15) Entry(self.Idade_humano_para_cavalo, textvariable=self.humanos_idade,
justify='center', font=("Arial", 15, "bold")).place(relx=0.45, rely=0.15, relwidth=0.35) Button(self.Idade_humano_para_cavalo, text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=self.butaoclick2).place(relx=0.3, rely=0.38, relwidth=0.45, relheight=0.2) self.resultado_cavalo = StringVar()
Label(self.Idade_humano_para_cavalo, textvariable=self.resultado_cavalo,
font=("Arial", 15, "bold"), bg='#dfe3ee', fg='#107db2').place(relx=0.4, rely=0.8) Label(self.Idade_humano_para_cavalo, text="Anos de Cavalo", font=("Arial", 15, "bold"),
bg='#dfe3ee', fg='#107db2').place(relx=0.05, rely=0.8)
def butaoclick1(self):
try:
cavalo = float(self.Idade_cavalo1.get())
if cavalo <= 5:
idade_humana = 6 * cavalo
else:
idade_humana = 30 + 4 * (cavalo - 5)
self.resultado_anos_humanos.set(f"{idade_humana:.1f} Anos")
except ValueError:
self.resultado_anos_humanos.set("Valor digitado é inválido.") def butaoclick2(self):
try:
humanos = float(self.humanos_idade.get())
if humanos <= 30:
idade_cavalo = humanos / 6
else:
idade_cavalo = 5 + (humanos - 30) / 4
self.resultado_cavalo.set(f"{idade_cavalo:.1f} Anos")
except ValueError:
self.resultado_cavalo.set("Valor digitado é inválido.") def Quit(self):
self.root.destroy() def Menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.Quit) AppConverter()
0