Mundo em Python

Converter Onça para Gramas e Vice-Versa

from tkinter import *
from tkinter import ttk
class App:
def __init__(self, root):
self.root = root
self.janela()
self.frames_da_janela()
self.widgets_frame1()
root.mainloop() def janela(self):
self.root.title("Converter Onça para Gramas e Vice-Versa")
self.root.configure(background='#1e3743')
self.root.geometry("300x300")
self.root.resizable(False, False) 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.95) def widgets_frame1(self):
self.abas = ttk.Notebook(self.frame_1) # Criando abas
self.Onça_gramas = Frame(self.abas)
self.gramas_Onça = Frame(self.abas)
self.Onça_gramas.configure(background="#dfe3ee")
self.gramas_Onça.configure(background="#dfe3ee") self.abas.add(self.Onça_gramas, text="Onça para Gramas")
self.abas.add(self.gramas_Onça, text="Gramas para Onça")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98) # --- Aba Onça para Gramas ---
self.onça = DoubleVar()
self.lb_onça = Label(self.Onça_gramas, text="Onça:", bg='#dfe3ee', fg='#107db2', font=("Arial", "15", "bold"))
self.lb_onça.place(relx=0.05, rely=0.05) self.onça_entry = Entry(self.Onça_gramas, textvariable=self.onça, justify='center')
self.onça_entry.place(relx=0.35, rely=0.05, relwidth=0.45) self.bt_calcular1 = Button(self.Onça_gramas, text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 14, 'bold'), command=self.butaoclick1)
self.bt_calcular1.place(relx=0.25, rely=0.3, relwidth=0.45, relheight=0.25) self.gramas1 = StringVar()
self.resultado1 = Label(self.Onça_gramas, textvariable=self.gramas1, wraplength=250, bg='#dfe3ee')
self.resultado1.place(relx=0.05, rely=0.78, relwidth=0.9) # --- Aba Gramas para Onça ---
self.gramas2 = DoubleVar()
self.lb_gramas2 = Label(self.gramas_Onça, text="Gramas:", bg='#dfe3ee', fg='#107db2',
font=("Arial", "15", "bold"))
self.lb_gramas2.place(relx=0.05, rely=0.05) self.gramas2_entry = Entry(self.gramas_Onça, textvariable=self.gramas2, justify='center')
self.gramas2_entry.place(relx=0.38, rely=0.08, relwidth=0.45) self.bt_calcular2 = Button(self.gramas_Onça, text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 14, 'bold'), command=self.butaoclick2)
self.bt_calcular2.place(relx=0.25, rely=0.3, relwidth=0.45, relheight=0.25) self.onca3 = StringVar()
self.resultado2 = Label(self.gramas_Onça, textvariable=self.onca3, wraplength=250, bg='#dfe3ee')
self.resultado2.place(relx=0.05, rely=0.78, relwidth=0.9) # --- Funções de cálculo ---
def butaoclick1(self):
try:
o = self.onça.get()
if o < 0:
self.gramas1.set("O valor deve ser positivo.")
else:
gramas = o * 28.3495
resultado = f"{o} onças equivalem a {round(gramas, 2)} gramas"
self.gramas1.set(resultado)
except TclError:
self.gramas1.set("Por favor, insira um valor numérico válido.") def butaoclick2(self):
try:
g = self.gramas2.get()
if g < 0:
self.onca3.set("O valor deve ser positivo.")
else:
onca_resultado = g / 28.3495
resultado = f"{g} gramas equivalem a {round(onca_resultado, 2)} onças"
self.onca3.set(resultado)
except TclError:
self.onca3.set("Por favor, insira um valor numérico válido.")
if __name__ == "__main__":
root = Tk()
App(root)
0