Я пытаюсь сделать простой калькулятор преобразования температуры в python. Я хочу сделать это, чтобы иметь возможность вводить число и автоматически обновлять другую сторону, не нажимая кнопку. Сейчас я могу заставить его работать только в одном направлении. Я могу либо закодировать его так, чтобы он мог идти от F до C, либо от C до F. Но не в любом случае.Обновление Python Tkinter при изменении записи
Очевидно, что after
- это не путь. Мне нужен какой-то onUpdate
или что-то в этом роде. ТИА!
import Tkinter as tk
root = tk.Tk()
temp_f_number = tk.DoubleVar()
temp_c_number = tk.DoubleVar()
tk.Label(root, text="F").grid(row=0, column=0)
tk.Label(root, text="C").grid(row=0, column=1)
temp_f = tk.Entry(root, textvariable=temp_f_number)
temp_c = tk.Entry(root, textvariable=temp_c_number)
temp_f.grid(row=1, column=0)
temp_c.grid(row=1, column=1)
def update():
temp_f_float = float(temp_f.get())
temp_c_float = float(temp_c.get())
new_temp_c = round((temp_f_float - 32) * (5/float(9)), 2)
new_temp_f = round((temp_c_float * (9/float(5)) + 32), 2)
temp_c.delete(0, tk.END)
temp_c.insert(0, new_temp_c)
temp_f.delete(0, tk.END)
temp_f.insert(0, new_temp_f)
root.after(2000, update)
root.after(1, update)
root.mainloop()