from tkinter import *
from tkinter import ttk
class Indicadores:
def __init__(self, root):
self.root = root
self.janela()
self.frames_da_janela()
self.widgets_frame1()
root.mainloop()
def janela(self):
self.root.title("Convertir hertz para kilo-hertz Vice-Versa")
self.root.configure(background='#1e3743')
self.root.geometry("450x200")
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)
self.hertz_kilohertz = Frame(self.abas)
self.kilohertz_hertz = Frame(self.abas)
self.hertz_kilohertz.configure(background="#dfe3ee")
self.kilohertz_hertz.configure(background="#dfe3ee")
self.abas.add(self.hertz_kilohertz, text="hertz (Hz) para kilo-hertz (kHz)")
self.abas.add(self.kilohertz_hertz, text="kilo-hertz (kHz) para hertz (Hz)")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98)
# hertz (Hz) para kilo-hertz (kHz)
self.hertz = DoubleVar()
self.lb_hertz = Label(self.hertz_kilohertz, text="hertz: ", bg='#dfe3ee', fg='#107db2', font=("Arial", "15", "bold"))
self.lb_hertz.place(relx=0.05, rely=0.05)
self.hertz_entry = Entry(self.hertz_kilohertz, textvariable=self.hertz, justify='center')
self.hertz_entry.place(relx=0.35, rely=0.05, relwidth=0.45)
self.bt_calcular1 = Button(self.hertz_kilohertz, 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.kilohertz = StringVar()
self.resultado1 = Label(self.hertz_kilohertz, textvariable=self.kilohertz)
self.resultado1.place(relx=0.05, rely=0.78, relwidth=0.9)
# kilo-hertz (kHz) para hertz (Hz)
self.kilo_hertz = DoubleVar()
self.lb_kilo_hertz = Label(self.kilohertz_hertz, text="kilo-hertz ", bg='#dfe3ee', fg='#107db2', font=("Arial", "15", "bold"))
self.lb_kilo_hertz.place(relx=0.05, rely=0.05)
self.kilo_hertz_entry = Entry(self.kilohertz_hertz, textvariable=self.kilo_hertz, justify='center')
self.kilo_hertz_entry.place(relx=0.35, rely=0.05, relwidth=0.45)
self.bt_calcular2 = Button(self.kilohertz_hertz, 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.hertz_resultado = StringVar() # Mover la definición aquí
self.resultado2 = Label(self.kilohertz_hertz, textvariable=self.hertz_resultado)
self.resultado2.place(relx=0.05, rely=0.78, relwidth=0.9)
def butaoclick1(self):
h_str = self.hertz.get()
try:
h = float(h_str)
kh = h / 1000
resultado = f"{h} Hertz são {kh} Kilo-hertz"
self.kilohertz.set(resultado)
except ValueError:
self.kilohertz.set("Entrada inválida. Coloca um número.")
def butaoclick2(self):
kh_str = self.kilo_hertz.get()
try:
kh = float(kh_str)
hertz_resultado = kh * 1000
resultado1 = f"{kh} Kilo-hertz são {hertz_resultado} Hertz"
self.hertz_resultado.set(resultado1)
except ValueError:
self.hertz_resultado.set("Entrada inválida. Ingresa un número.")
if __name__ == "__main__":
root = Tk()
Indicadores(root)