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("Nós para quilómetros por hora ou vice-versa ")
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.nos_para_quilometroporhora = Frame(self.abas)
self.quilometroporhora_para_nos = Frame(self.abas)
self.nos_para_quilometroporhora.configure(background="#dfe3ee")
self.quilometroporhora_para_nos.configure(background="#dfe3ee")
self.abas.add(self.nos_para_quilometroporhora, text="Nós para quilómetros por hora")
self.abas.add(self.quilometroporhora_para_nos, text="Quilómetros por hora para Nós")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98)
# Nós para quilómetros por hora
self.nos = DoubleVar()
self.lb_nos = Label(self.nos_para_quilometroporhora,
text="Nós: "
,bg='#dfe3ee', fg='#107db2', font=("Arial","15","bold"))
self.lb_nos.place(relx=0.25, rely=0.05)
self.nos_entry = Entry(self.nos_para_quilometroporhora,
textvariable=self.nos,
justify='center',font=("Arial","15","bold"))
self.nos_entry.place(relx=0.45, rely=0.05, relwidth=0.25)
self.bt_calcular1 = Button(self.nos_para_quilometroporhora, 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.resultadokm_hora = StringVar()
self.texto1 = Label(self.nos_para_quilometroporhora,text="km/h",bg='#dfe3ee',
fg='#107db2', font=("Arial","15","bold"))
self.texto1.place(relx=0.25, rely=0.7, relwidth=0.1)
self.resultado1 = Label(self.nos_para_quilometroporhora, textvariable=self.resultadokm_hora)
self.resultado1.place(relx=0.45, rely=0.7, relwidth=0.35)
#Quilómetros por hora para Nós
self.quilometroporhora = DoubleVar()
self.lb_quilometroporhora = Label(self.quilometroporhora_para_nos,
text="km/h: ",
bg='#dfe3ee', fg='#107db2', font=("Arial","15","bold"))
self.lb_quilometroporhora.place(relx=0.2, rely=0.15)
self.quilometroporhora_entry = Entry(self.quilometroporhora_para_nos,
textvariable=self.quilometroporhora,
justify='center',font=("Arial","13","bold"))
self.quilometroporhora_entry.place(relx=0.45, rely=0.15, relwidth=0.25)
# Butão de Calcular
self.bt_calcular2 = Button(self.quilometroporhora_para_nos,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_nos = StringVar()
self.resultado2 = Label(self.quilometroporhora_para_nos,
textvariable=self.resultado_nos,font=("Arial","13","bold"))
self.resultado2.place(relx=0.5, rely=0.8, relwidth=0.4)
self.lb_resultado2 = Label(self.quilometroporhora_para_nos,
text="Nós:",bg='#dfe3ee',
fg='#107db2',font=("Arial","15","bold"))
self.lb_resultado2.place(relx=0.25, rely=0.8)
def butaoclick1(self):
# Velocidade em km/h=Velocidade em nós×1.852
m_nos = self.nos.get()
m_km_h = m_nos*1.852
m_m_km_h_arr = round(m_km_h,2)
return self.resultadokm_hora.set(m_m_km_h_arr)
def butaoclick2(self):
m_quilometroporhora= self.quilometroporhora.get()
M_nos = m_quilometroporhora/1.852
m_nos_arr = round(M_nos, 2)
return self.resultado_nos.set(m_nos_arr)
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()