Как обновить значение метки, если значение записи изменилось без использования какой-либо кнопки?

Я создаю программу, в которой у меня есть две записи для получения некоторых значений от пользователя. С этими значениями я хочу произвести некоторые вычисления и отобразить результат на этикетке. Я не хочу использовать какие-либо кнопки или виджеты для обновления значения метки. Я пробовал использовать для этого события привязки, но не нашел ни одного события, которое работает при изменении значения записи. Надеюсь, что мой вопрос понят. Спасибо.


    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))

Другие вопросы по тегам