Skip to content

shreytelang/Calculator-GUI-in-Python

Repository files navigation

Calculator-GUI-in-Python

import tkinter from tkinter import * from tkinter import messagebox

val = "" A = 0 operator = ""

def btn_1_isclicked(): global val val = val + "1" data.set(val)

def btn_2_isclicked(): global val val = val + "2" data.set(val)

def btn_3_isclicked(): global val val = val + "3" data.set(val)

def btn_4_isclicked(): global val val = val + "4" data.set(val)

def btn_5_isclicked(): global val val = val + "5" data.set(val)

def btn_6_isclicked(): global val val = val + "6" data.set(val)

def btn_7_isclicked(): global val val = val + "7" data.set(val)

def btn_8_isclicked(): global val val = val + "8" data.set(val)

def btn_9_isclicked(): global val val = val + "9" data.set(val)

def btn_0_isclicked(): global val val = val + "0" data.set(val)

def btn_plus_clicked(): global A global operator global val A = int(val) operator = "+" val = val + "+" data.set(val)

def btn_minus_clicked(): global A global operator global val A = int(val) operator = "-" val = val + "-" data.set(val)

def btn_mult_clicked(): global A global operator global val A = int(val) operator = "" val = val + "" data.set(val)

def btn_div_clicked(): global A global operator global val A = int(val) operator = "/" val = val + "/" data.set(val)

def c_pressed(): global A global operator global val global val val = "" A = 0 operator = "" data.set(val)

def result(): global A global operator global val val2 = val if operator == "+": x = int((val2.split("+")[1])) C = A + x data.set(C) val = str(C)

elif operator == "-":
     x = int((val2.split("-")[1]))
     C = A - x 
     data.set(C)
     val = str(C)

elif operator == "*":
     x = int((val2.split("*")[1]))
     C = A * x 
     data.set(C)
     val = str(C)

elif operator == "/":
     x = int((val2.split("/")[1]))
     if x == 0:
         messagebox.showerror("Error", "Not Supported")
         A = ""
         val = ""
         data.set(val)
     else:
        C = int(A/x)
        data.set(C)
        val = str(C)

root = tkinter.Tk() root.geometry("250x400+300+300") root.resizable(0,0) root.title("Calculator")

data = StringVar() lbl = Label( root, text = "Label", anchor = SE, font = ("Verdana", 20), textvariable = data, background= "#ffffff", fg= "#000000" ) lbl.pack(expand = True, fill = "both")

btnrow1 = Frame(root, bg="#000000") btnrow1.pack(expand = True, fill = "both")

btnrow2 = Frame(root) btnrow2.pack(expand = True, fill = "both")

btnrow3 = Frame(root) btnrow3.pack(expand = True, fill = "both")

btnrow4 = Frame(root) btnrow4.pack(expand = True, fill = "both")

btn1 = Button( btnrow1, text = "1", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_1_isclicked ) btn1.pack(side = LEFT, expand = True, fill = "both")

btn2 = Button( btnrow1, text = "2", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_2_isclicked ) btn2.pack(side = LEFT, expand = True, fill = "both")

btn3 = Button( btnrow1, text = "3", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_3_isclicked ) btn3.pack(side = LEFT, expand = True, fill = "both")

btnplus = Button( btnrow1, text = "+", font = ("Verdana", 22), relief = GROOVE, border = 0, command = btn_plus_clicked ) btnplus.pack(side = LEFT, expand = True, fill = "both")

btn4 = Button( btnrow2, text = "4", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_4_isclicked ) btn4.pack(side = LEFT, expand = True, fill = "both")

btn5 = Button( btnrow2, text = "5", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_5_isclicked ) btn5.pack(side = LEFT, expand = True, fill = "both")

btn6 = Button( btnrow2, text = "6", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_6_isclicked ) btn6.pack(side = LEFT, expand = True, fill = "both")

btnminus = Button( btnrow2, text = "-", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_minus_clicked

) btnminus.pack(side = LEFT, expand = True, fill = "both")

btn7 = Button( btnrow3, text = "7", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_7_isclicked ) btn7.pack(side = LEFT, expand = True, fill = "both")

btn8 = Button( btnrow3, text = "8", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_8_isclicked ) btn8.pack(side = LEFT, expand = True, fill = "both")

btn9 = Button( btnrow3, text = "9", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_9_isclicked ) btn9.pack(side = LEFT, expand = True, fill = "both")

btnmult = Button( btnrow3, text = "*", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_mult_clicked ) btnmult.pack(side = LEFT, expand = True, fill = "both")

btnc = Button( btnrow4, text = "C", font = ("Verdana", 22), relief = GROOVE, border = 0, command= c_pressed ) btnc.pack(side = LEFT, expand = True, fill = "both")

btn0 = Button( btnrow4, text = "0", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_0_isclicked ) btn0.pack(side = LEFT, expand = True, fill = "both")

btnequal = Button( btnrow4, text = "=", font = ("Verdana", 22), relief = GROOVE, border = 0, command= result ) btnequal.pack(side = LEFT, expand = True, fill = "both")

btndiv = Button( btnrow4, text = "/", font = ("Verdana", 22), relief = GROOVE, border = 0, command= btn_div_clicked ) btndiv.pack(side = LEFT, expand = True, fill = "both")

root.mainloop()

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published