This code is working fine to develop the GUI but whenever I click a button on GUI, nothing happens, no changes occur to textbox. I checked if the functions are being called by using print statements and they were.
import tkinter
calculation = ""
def add(value):
global calculation
calculation += str(value)
text_result.delete(1.0, "end")
def evaluate():
global calculation
try:
calculation = str(eval(calculation))
text_result.delete(1.0, "end")
text_result.insert(1.0, calculation)
except:
clear()
text_result.insert(1.0, "ERROR")
def clear():
global calculation
calculation = ""
text_result.delete(1.0, "end")
root = tkinter.Tk()
root.geometry("350x200")
root.title("Simple Calculator")
text_result = tkinter.Text(root, height=2, width=16, font=("Arial", 26))
text_result.grid(row=0, column=0, columnspan=5)
btn1 = tkinter.Button(root, text="1", command=lambda: add(1), width=5, font=("Arial", 14))
btn2 = tkinter.Button(root, text="2", command=lambda: add(2), width=5, font=("Arial", 14))
btn3 = tkinter.Button(root, text="3", command=lambda: add(3), width=5, font=("Arial", 14))
btn4 = tkinter.Button(root, text="4", command=lambda: add(4), width=5, font=("Arial", 14))
btn5 = tkinter.Button(root, text="5", command=lambda: add(5), width=5, font=("Arial", 14))
btn6 = tkinter.Button(root, text="6", command=lambda: add(6), width=5, font=("Arial", 14))
btn7 = tkinter.Button(root, text="7", command=lambda: add(7), width=5, font=("Arial", 14))
btn8 = tkinter.Button(root, text="8", command=lambda: add(8), width=5, font=("Arial", 14))
btn9 = tkinter.Button(root, text="9", command=lambda: add(9), width=5, font=("Arial", 14))
btn0 = tkinter.Button(root, text="0", command=lambda: add(0), width=5, font=("Arial", 14))
btn_plus = tkinter.Button(root, text="+", command=lambda: add("+"), width=10, font=("Arial", 20))
btn_minus = tkinter.Button(root, text="-", command=lambda: add("-"), width=10, font=("Arial", 20))
btn_mul = tkinter.Button(root, text="x", command=lambda: add("*"), width=10, font=("Arial", 20))
btn_div = tkinter.Button(root, text="/", command=lambda: add("/"), width=10, font=("Arial", 20))
btn_clear = tkinter.Button(root, text="C", command=clear, width=5, font=("Arial", 14))
btn_eql = tkinter.Button(root, text="=", command=evaluate, width=5, font=("Arial", 14))
btn1.grid(row=2, column=1)
btn2.grid(row=2, column=2)
btn3.grid(row=2, column=3)
btn4.grid(row=3, column=1)
btn5.grid(row=3, column=2)
btn6.grid(row=3, column=3)
btn7.grid(row=4, column=1)
btn8.grid(row=4, column=2)
btn9.grid(row=4, column=3)
btn0.grid(row=5, column=2)
btn_plus.grid(row=2, column=4)
btn_minus.grid(row=3, column=4)
btn_mul.grid(row=4, column=4)
btn_div.grid(row=5, column=4)
btn_clear.grid(row=5, column=1)
btn_eql.grid(row=5, column=3)
root.mainloop()

+and1, now you want4+1or just+1