import tkinter as tk
from functools import partial
tempVal = "Calorias"
def store_temp(sel_temp):
global tempVal
tempVal = sel_temp
def call_convert(rlabel1, rlabe12, inputn):
tem = inputn.get()
if tempVal == 'Calorias':
j = float((float(tem)*4.1868))
qj = float((float(tem)/859845.24))
rlabel1.config(text="%f Joules" % j)
rlabe12.config(text="%f Quilowatts-hora" % qj)
if tempVal == 'Joules':
c = float((float(tem)/4.1868))
qj = float((float(tem)/3600000))
rlabel1.config(text="%f Calorias" % c)
rlabe12.config(text="%f Quilowatts" % qj)
if tempVal == 'Quilowatts-hora':
c = float((float(tem) * 859845.24))
j = float((float(tem) *3600000))
rlabel1.config(text="%f Calorias" % c)
rlabe12.config(text="%f Joules" % j)
return
root = tk.Tk()
root.geometry('400x150+100+200')
root.title('Medidas de Energia')
root.configure(background='#09A3BA')
root.resizable(width=False, height=False)
root.grid_columnconfigure(1, weight=1)
root.grid_rowconfigure(0, weight=1)
numberInput = tk.StringVar()
var = tk.StringVar()
# label and entry field
input_label = tk.Label(root, text="Coloca o número: ", background='#09A3BA',
foreground="#FFFFFF")
input_entry = tk.Entry(root, textvariable=numberInput)
input_label.grid(row=1)
input_entry.grid(row=1, column=1)
result_label1 = tk.Label(root, background='#09A3BA', foreground="#FFFFFF")
result_label1.grid(row=3, columnspan=4)
result_label2 = tk.Label(root, background='#09A3BA', foreground="#FFFFFF")
result_label2.grid(row=4, columnspan=4)
dropDownList = ["Calorias", "Joules", "Quilowatts-hora"]
#
dropdown = tk.OptionMenu(root, var, *dropDownList, command=store_temp)
var.set(dropDownList[0])
dropdown.grid(row=1, column=3)
dropdown.config(background='#09A3BA', foreground="#FFFFFF")
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF")
call_convert = partial(call_convert, result_label1, result_label2, numberInput)
result_button = tk.Button(root, text="Convert", background='#09A3BA',
foreground="#FFFFFF", command=call_convert)
result_button.grid(row=2, columnspan=4)
root.mainloop()