Выведение результата сложения чисел в ENTRY

from tkinter import *

w = Tk()
w.title("window")
w.geometry("300x200")

def btn1_click():
    entry.insert(END, '1')
def btn2_click():
    entry.insert(END, '2')
def plus():
    entry.insert(END, '+')
def minus():
    entry.insert(END, '-')
def clear_one():
    entry.delete(len(entry.get())-1)

message = IntVar()

entry = Entry(width=50)
entry.grid(row=0, column=0, columnspan=5)
btn1 = Button(text="1", height=3, width=3, command=btn1_click).grid(row=1, column=1, padx=3, pady=3, sticky="e")
btn2 = Button(text="2", height=3, width=3, command=btn2_click).grid(row=1, column=2, padx=3, pady=3, sticky="e")
btnplus = Button(text="+", height=3, width=3, command=plus).grid(row=2, column=1, padx=3, pady=3, sticky="e")
btnminus = Button(text="-", height=3, width=3, command=minus).grid(row=2, column=2, padx=3, pady=3, sticky="e")
btnequals= Button(text="=", height=3, width=3).grid(row=2, column=3, padx=3, pady=3, sticky="e")
btnclear = Button(text="del", height=3, width=3, command=clear_one).grid(row=3, column=2, padx=8, pady=3, sticky="e")



w.mainloop()

Вопрос вот какой, я хочу, чтобы при нажатии на "=" выводился результат сложения двух чисел в ENTRY, что делать в этом случае?

Пытался сделать с импортом math, но не понял, что добавлять.


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

Автор решения: dtroyan

Примерно так, вариант не идеальный на скорую руку, это чтобы вы поняли в какую сторону идти дальше:

from tkinter import *

w = Tk()
w.title("window")
w.geometry("300x200")
arr = []
operand = None

def btn1_click():
    entry.insert(END, '1')
    arr.append(1)
def btn2_click():
    entry.insert(END, '2')
    arr.append(2)
def plus():
    entry.insert(END, '+')
    global operand
    operand = 'plus'
def minus():
    entry.insert(END, '-')
    global operand
    operand = 'minus'
def clear_one():
    entry.delete(len(entry.get())-1)
    arr.clear()
def equals():
    print(arr)
    if operand == 'plus':
        entry.delete(0, 'end')
        entry.insert(END, sum(arr))
    elif operand == 'minus':
        entry.delete(0, 'end')
        entry.insert(END, arr[0]-arr[1])

message = IntVar()

entry = Entry(width=50)
entry.grid(row=0, column=0, columnspan=5)
btn1 = Button(text="1", height=3, width=3, command=btn1_click).grid(row=1, column=1, padx=3, pady=3, sticky="e")
btn2 = Button(text="2", height=3, width=3, command=btn2_click).grid(row=1, column=2, padx=3, pady=3, sticky="e")
btnplus = Button(text="+", height=3, width=3, command=plus).grid(row=2, column=1, padx=3, pady=3, sticky="e")
btnminus = Button(text="-", height=3, width=3, command=minus).grid(row=2, column=2, padx=3, pady=3, sticky="e")
btnequals= Button(text="=", height=3, width=3, command=equals).grid(row=2, column=3, padx=3, pady=3, sticky="e")
btnclear = Button(text="del", height=3, width=3, command=clear_one).grid(row=3, column=2, padx=8, pady=3, sticky="e")



w.mainloop()
→ Ссылка