Skip to main content

Python Project #1 - Calculator

Calculator
Source Code:

from tkinter import *

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

f = ('arial', 20, 'bold')
txt = StringVar()
op = ''

def btnClick(num):
    global op
    op = op + str(num)
    txt.set(op)

def btnClear():
    global op
    op = ''
    txt.set('')

def btnEquals():
    global op
    rst = str(eval(op))
    txt.set(rst)
    op = ''
    

txtDisplay = Entry(Calc, font=f, textvar=txt, bd=30, insertwidth=4, bg='powder blue', justify='right').grid(columnspan = 4)

btn7 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='7', bg='powder blue', command=lambda:btnClick(7)).grid(row = 1, column = 0)
btn8 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='8', bg='powder blue', command=lambda:btnClick(8)).grid(row = 1, column = 1)
btn9 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='9', bg='powder blue', command=lambda:btnClick(9)).grid(row = 1, column = 2)
btnAdd = Button(Calc, padx=16, bd=8, fg='black', font=f, text='+', bg='powder blue', command=lambda:btnClick('+')).grid(row = 1, column = 3)

btn4 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='4', bg='powder blue', command=lambda:btnClick(4)).grid(row = 2, column = 0)
btn5 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='5', bg='powder blue', command=lambda:btnClick(5)).grid(row = 2, column = 1)
btn6 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='6', bg='powder blue', command=lambda:btnClick(6)).grid(row = 2, column = 2)
btnSub = Button(Calc, padx=16, bd=8, fg='black', font=f, text='-', bg='powder blue', command=lambda:btnClick('-')).grid(row = 2, column = 3)

btn1 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='1', bg='powder blue', command=lambda:btnClick(1)).grid(row = 3, column = 0)
btn2 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='2', bg='powder blue', command=lambda:btnClick(2)).grid(row = 3, column = 1)
btn3 = Button(Calc, padx=16, bd=8, fg='black', font=f, text='3', bg='powder blue', command=lambda:btnClick(3)).grid(row = 3, column = 2)
btnMul = Button(Calc, padx=16, bd=8, fg='black', font=f, text='*', bg='powder blue', command=lambda:btnClick('*')).grid(row = 3, column = 3)

btn0 = Button(Calc, padx=16, pady=12, bd=8, fg='black', font=f, text='0', bg='powder blue', command=lambda:btnClick(0)).grid(row = 4, column = 0)
btnClear = Button(Calc, padx=16, pady=12, bd=8, fg='black', font=f, text='C', bg='powder blue', command=btnClear).grid(row = 4, column = 1)
btnEquals = Button(Calc, padx=16, pady=12, bd=8, fg='black', font=f, text='=', bg='powder blue', command=btnEquals).grid(row = 4, column = 2)
btnDiv = Button(Calc, padx=16, pady=12, bd=8, fg='black', font=f, text='/', bg='powder blue', command=lambda:btnClick('/')).grid(row = 4, column = 3)

Calc.mainloop()

Thank You ⭐

Comments