Как привязать клавишу Enter к событию равенства?

написал простой калькулятор и теперь возникла проблема с функцией, которая привязывает клавишу Enter к действию равно. Пытался это описать при помощи delaida('C').bind('<Enter>', output) и

def output(event):
    entry.configure(command=calculate)

но тщетно.

Вот код:

from tkinter import *

name = Tk()
name.title('Calculator')

def add_digit(digit):
    value = entry.get()
    if value[0] == '0':
        value = value[1:]
    entry.delete(0, END)
    entry.insert(0, value+digit)

def add_operation(operation):
    value = entry.get()
    if value[-1] in '+-*/':
        value = value[:-1]
    elif '+' or '-' or '*' or '/' in value:
        calculate()
        value = entry.get()
    entry.delete(0, END)
    entry.insert(0, value+operation)

def calculate():
    value = entry.get()
    if value in '+-*/':
        value = value + value[1:]
    entry.delete(0, END)
    entry.insert(0, eval(value))

def button(button):
    return Button(text=button, bd=3, font=('Century Gothic', 13), command=lambda: add_digit(button))

def operation(operation):
    return Button(text=operation, bd=3, font=('Century Gothic', 13), command=lambda: add_operation(operation))

def equal(operation):
    return Button(text=operation, bd=3, font=('Century Gothic', 13), command=calculate)

def delaida(operation):
    return Button(text=operation, bd=3, font=('Century Gothic', 13), command=clear)

def delete():
    entry.delete(0, END)
    entry.insert(0, '0')

def clear():
    entry.delete(0, END)
    entry.insert(0, 0)

def output(event):
    entry.configure(command=calculate)

entry = Entry(name, justify=RIGHT, font=('Century Gothic', 15))
entry.insert(0, '0')
entry.grid(columnspan=4, stick='we')

button('1').grid(row=1, column=0, stick='we')
button('2').grid(row=1, column=1, stick='we')
button('3').grid(row=1, column=2, stick='we')
button('4').grid(row=2, column=0, stick='we')
button('5').grid(row=2, column=1, stick='we')
button('6').grid(row=2, column=2, stick='we')
button('7').grid(row=3, column=0, stick='we')
button('8').grid(row=3, column=1, stick='we')
button('9').grid(row=3, column=2, stick='we')
button('0').grid(row=4, column=0, stick='we')

operation('+').grid(row=1, column=3, stick='we')
operation('-').grid(row=2, column=3, stick='we')
operation('/').grid(row=3, column=3, stick='we')
operation('*').grid(row=4, column=3, stick='we')

equal('=').grid(row=4, column=2, stick='we')

delaida('C').grid(row=4, column=1, stick='we')

delaida('C').bind('<Enter>', output)

name.mainloop()

Ответы (0 шт):