#Versão Metros para pé e vice-versa
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("Conversor de Altitude: Metros e Pés")
self.root.configure(background='#1e3743')
self.root.geometry("400x250")
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.Metros_para_Pés = Frame(self.abas)
self.Pés_para_Metros = Frame(self.abas) self.Metros_para_Pés.configure(background="#dfe3ee")
self.Pés_para_Metros.configure(background="#dfe3ee") self.abas.add(self.Metros_para_Pés, text="Metros para Pés")
self.abas.add(self.Pés_para_Metros, text="Pés para Metros")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98) # Metros para Pés
self.metros = StringVar()
self.lb_metros = Label(self.Metros_para_Pés,
text="Metros",
bg='#dfe3ee', fg='#107db2', font=("Arial","15","bold"))
self.lb_metros.place(relx=0.2, rely=0.05)
self.metros_entry = Entry(self.Metros_para_Pés,
textvariable=self.metros,
justify='center',font=("Arial","15","bold"))
self.metros_entry.place(relx=0.45, rely=0.05, relwidth=0.45)
self.bt_calcular1 = Button(self.Metros_para_Pés, text="Calcular",
bd=2,bg='#107db2', fg='white',
font=('verdana', 12, 'bold'),
command=self.butaoclick1)
self.bt_calcular1.place(relx=0.3, rely=0.3, relwidth=0.45, relheight=0.2)
self.resultado_pés = StringVar()
self.resultado1 = Label(self.Metros_para_Pés, textvariable=self.resultado_pés,
font=("Arial","13","bold"))
self.resultado1.place(relx=0.4, rely=0.71, relwidth=0.45)
self.lb_resultado1 = Label(self.Metros_para_Pés,
text="Pés (ft)",font=("Arial","15","bold"),
bg='#dfe3ee', fg='#107db2')
self.lb_resultado1.place(relx=0.15, rely=0.7) # Pés para Metros
self.Pés2 = StringVar()
self.lb_Pés2 = Label(self.Pés_para_Metros,
text="Pés",
bg='#dfe3ee', fg='#107db2', font=("Arial","15","bold"))
self.lb_Pés2.place(relx=0.15, rely=0.15)
self.Pés2_entry = Entry(self.Pés_para_Metros,
textvariable=self.Pés2,
justify='center',font=("Arial","15","bold"))
self.Pés2_entry.place(relx=0.45, rely=0.15, relwidth=0.45)
# Botão de Calcular
self.bt_calcular2 = Button(self.Pés_para_Metros,text="Calcular", bd=2,bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=self.butaoclick2)
self.bt_calcular2.place(relx=0.3, rely=0.38, relwidth=0.45, relheight=0.2)
# Resultado
self.resultado_metros = StringVar()
self.resultado2 = Label(self.Pés_para_Metros,
textvariable=self.resultado_metros,font=("Arial","13","bold"))
self.resultado2.place(relx=0.5, rely=0.8, relwidth=0.4)
self.lb_resultado2 = Label(self.Pés_para_Metros,
text="Metros (m)",bg='#dfe3ee',
fg='#107db2',font=("Arial","13","bold"))
self.lb_resultado2.place(relx=0.2, rely=0.8) def butaoclick1(self):
try:
m = float(self.metros.get())
Pés = m * 3.28084
mensagem = f"{round(Pés, 3)}"
except ValueError:
mensagem = "Valor inválido."
self.resultado_pés.set(mensagem) def butaoclick2(self):
try:
ft = float(self.Pés2.get())
Metros3 = ft / 3.28084
mensagem = f"{round(Metros3, 3)}"
except ValueError:
mensagem = "Valor inválido."
self.resultado_metros.set(mensagem) def Quit(self):
self.root.destroy() def Menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.Quit) # Executa a aplicação
appconverter()
# Versão Metros para Milhas e vice-versa
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("Conversor de Altitude: Metros para Milhas")
self.root.configure(background='#1e3743')
self.root.geometry("400x250")
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.Metros_para_Milhas = Frame(self.abas)
self.Milhas_para_Metros = Frame(self.abas) self.Metros_para_Milhas.configure(background="#dfe3ee")
self.Milhas_para_Metros.configure(background="#dfe3ee") # Adicionando abas com os rótulos corretos
self.abas.add(self.Metros_para_Milhas, text="Metros para Milhas")
self.abas.add(self.Milhas_para_Metros, text="Milhas para Metros")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98) # --- Metros para Milhas ---
self.metros = StringVar()
self.lb_metros = Label(self.Metros_para_Milhas,
text="Metros",
bg='#dfe3ee', fg='#107db2', font=("Arial","15","bold"))
self.lb_metros.place(relx=0.2, rely=0.05)
self.metros_entry = Entry(self.Metros_para_Milhas,
textvariable=self.metros,
justify='center',font=("Arial","15","bold"))
self.metros_entry.place(relx=0.45, rely=0.05, relwidth=0.45)
self.bt_calcular1 = Button(self.Metros_para_Milhas, text="Calcular",
bd=2,bg='#107db2', fg='white',
font=('verdana', 12, 'bold'),
command=self.butaoclick1)
self.bt_calcular1.place(relx=0.3, rely=0.3, relwidth=0.45, relheight=0.2)
self.resultado_milhas = StringVar()
self.resultado1 = Label(self.Metros_para_Milhas, textvariable=self.resultado_milhas,
font=("Arial","13","bold"))
self.resultado1.place(relx=0.4, rely=0.71, relwidth=0.45)
self.lb_resultado1 = Label(self.Metros_para_Milhas,
text="Milhas (mi)",font=("Arial","15","bold"),
bg='#dfe3ee', fg='#107db2')
self.lb_resultado1.place(relx=0.15, rely=0.7) # --- Milhas para Metros ---
self.Milhas2 = StringVar()
self.lb_Milhas2 = Label(self.Milhas_para_Metros,
text="Milhas (mi)",
bg='#dfe3ee', fg='#107db2', font=("Arial","15","bold"))
self.lb_Milhas2.place(relx=0.15, rely=0.15)
self.Milhas2_entry = Entry(self.Milhas_para_Metros,
textvariable=self.Milhas2,
justify='center',font=("Arial","15","bold"))
self.Milhas2_entry.place(relx=0.45, rely=0.15, relwidth=0.45)
# Botão de Calcular
self.bt_calcular2 = Button(self.Milhas_para_Metros,text="Calcular", bd=2,bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=self.butaoclick2)
self.bt_calcular2.place(relx=0.3, rely=0.38, relwidth=0.45, relheight=0.2)
# Resultado
self.resultado_metros = StringVar()
self.resultado2 = Label(self.Milhas_para_Metros,
textvariable=self.resultado_metros,font=("Arial","13","bold"))
self.resultado2.place(relx=0.5, rely=0.8, relwidth=0.4)
self.lb_resultado2 = Label(self.Milhas_para_Metros,
text="Metros (m)",bg='#dfe3ee',
fg='#107db2',font=("Arial","13","bold"))
self.lb_resultado2.place(relx=0.2, rely=0.8) def butaoclick1(self):
try:
m = float(self.metros.get())
Milhas2 = m / 1609.34
mensagem = f"{round(Milhas2, 3)}"
except ValueError:
mensagem = "Valor inválido."
# Definir o resultado em Milhas
self.resultado_milhas.set(mensagem) def butaoclick2(self):
try:
mi = float(self.Milhas2.get())
Metros3 = mi * 1609.34
mensagem = f"{round(Metros3, 3)}"
except ValueError:
mensagem = "Valor inválido."
self.resultado_metros.set(mensagem) def Quit(self):
self.root.destroy() def Menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.Quit) # Executa a aplicação
appconverter()