from tkinter import * import sys class Calculator: def __init__(self, master): self.master = master master.title("Simple Calculator") self.frame1 = Frame(master) self.frame1.option_add("*Font", "arial 20 bold") self.frame1.pack(expand = YES, fill = BOTH) self.result = StringVar() self.result.set("") self.entry = Entry(self.frame1, relief=FLAT, textvariable=self.result, justify="right", bd=5, bg="lightblue") self.entry.pack(side=TOP) self.frame2 = Frame(master, borderwidth = 10, bd = 1, bg='grey') self.frame2.pack(side=TOP, expand = YES, fill = BOTH) self.btnClear = Button(self.frame2, text = "C", width = 4, command = self.resetResult) self.btnClear.grid(column = 0, row = 0) self.btnCE = Button(self.frame2, text = "CE", width = 4, command = self.resetResult) self.btnCE.grid(column = 1, row = 0) self.btnSquare = Button(self.frame2, text = "x^2", width = 4, command = self.square) self.btnSquare.grid(column = 2, row = 0) self.btnDiv = Button(self.frame2, text = "/", width = 4, command = lambda:self.changeOp("/")) self.btnDiv.grid(column = 3, row = 0) for b in "123456789": btnNum = Button(self.frame2, text = b, width = 4, command = lambda:self.numberUpdate(b)) btnNum.grid(column=(int(b)-1)%3, row=int((int(b)-1)/3)+1) def resetResult(self): pass def square(self): pass def changeOp(self, op): pass def printDemo(self): print("This is demo") root = Tk() my_gui = Calculator(root) root.mainloop()