from tkinter import * class Calculator: def __init__(self, master): self.operator = "+" self.txtOp = "" self.master = master master.title("Simple Calculator") self.f1 = Frame(master) self.f1.pack() self.lblNum1 = Label(self.f1, text = "num1:") self.lblNum1.pack(side = LEFT) self.strNum1 = StringVar() self.strNum1.set("") self.entNum1 = Entry(self.f1, textvariable = self.strNum1) self.entNum1.pack(side = LEFT) # add "+" button self.f2 = Frame(master) self.f2.pack() self.btnAdd = Button(self.f2, text = "+", command = self.changeOpAdd) self.btnAdd.pack(side = LEFT) self.f3 = Frame(master) self.f3.pack() self.lblNum2 = Label(self.f3, text = "num2:") self.lblNum2.pack(side = LEFT) self.strNum2 = StringVar() self.strNum2.set("") self.entNum2 = Entry(self.f3, textvariable = self.strNum2) self.entNum2.pack(side = LEFT) # add "=" button self.f4 = Frame(master) self.f4.pack() self.btnEqu = Button(self.f4, text = "=", command = self.calc) self.btnEqu.pack(side = LEFT) self.f5 = Frame(master) self.f5.pack() self.strResult = StringVar() self.strResult.set("") self.lblResult = Label(self.f5, textvariable = self.strResult) self.lblResult.pack(side = LEFT) def changeOpAdd(self): self.operator = '+' def calc(self): self.txtOp = self.strNum1.get() + self.operator + self.strNum2.get() self.strResult.set(str(eval(self.txtOp))) root = Tk() my_gui = Calculator(root) root.mainloop()