Как обновить значение метки, если значение записи изменилось без использования какой-либо кнопки?
Я создаю программу, в которой у меня есть две записи для получения некоторых значений от пользователя. С этими значениями я хочу произвести некоторые вычисления и отобразить результат на этикетке. Я не хочу использовать какие-либо кнопки или виджеты для обновления значения метки. Я пробовал использовать для этого события привязки, но не нашел ни одного события, которое работает при изменении значения записи. Надеюсь, что мой вопрос понят. Спасибо.
self.Capacity_Entry=Entry(self.Window,borderwidth=3,textvariable=self.Capacity)
self.Capacity_Entry.grid(row=3,column=0)
self.Capacity_Entry.bind('<Enter>',self.calculate_unknown_variable)
self.Voltage_Entry=Entry(self.Window,borderwidth=3,textvariable=self.Voltage)
self.Voltage_Entry.grid(row=3,column=2)
self.Voltage_Entry.bind('<Enter>',self.calculate_unknown_variable)
self.Energy_label=Label(self.Window)
self.Energy_label.grid(row=1,column=4,)
def calculate_unknown_variable(self,*args):
self.V=float(self.Voltage.get())
self.C=float(self.Capacity.get())
self.E=0.5*self.C*self.V*self.V
self.Result_Label.config(text=self.E)
1 ответ
Решение
Вы можете использовать
"<KeyRelease>"
событие для этого.
Каждый раз, когда вы отпускаете клавишу на клавиатуре, при отпускании клавиши запускается связанный метод.
self.Capacity_Entry.bind("<KeyRelease>",self.calculate_unknown_variable))