|
| 1 | +# Image resources are provided in the file |
| 2 | +# Make sure you change the paths in the code |
| 3 | + |
| 4 | +from tkinter import * |
| 5 | +from PIL import ImageTk , Image |
| 6 | + |
| 7 | +rt = Tk() |
| 8 | +rt.title("Moin's Calculator") |
| 9 | +rt.iconbitmap('C:/imgs/icons/calc512px.ico') |
| 10 | +rt.geometry("300x430") |
| 11 | +bg = ImageTk.PhotoImage(file="C:/imgs/300x430_bg.png") |
| 12 | +bg_label = Label(rt, image=bg).place(x=0,y=0) |
| 13 | + |
| 14 | +# Entry Widget |
| 15 | + |
| 16 | +e = Entry(rt,width=35,borderwidth=10,font=("Times",10)) |
| 17 | +e.grid(row=0,column=0,pady=20,padx=30,columnspan=3) |
| 18 | + |
| 19 | +# CHANGE YOUR PATHS HERE..!!!!! |
| 20 | + |
| 21 | +Img1 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/1.png") |
| 22 | +Img2 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/2.png") |
| 23 | +Img3 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/3.png") |
| 24 | +Img4 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/4.png") |
| 25 | +Img5 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/5.png") |
| 26 | +Img6 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/6.png") |
| 27 | +Img7 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/7.png") |
| 28 | +Img8 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/8.png") |
| 29 | +Img9 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/9.png") |
| 30 | +Img0 = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/10.png") |
| 31 | +ImgA = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/11.png") |
| 32 | +ImgS = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/12.png") |
| 33 | +ImgM = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/13.png") |
| 34 | +ImgD = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/14.png") |
| 35 | +ImgE = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/15.png") |
| 36 | +ImgCLR = ImageTk.PhotoImage(file="C:/Users/irfan/OneDrive/Desktop/MO TECH/pngs50x50/16.png") |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | +def button_click(number): |
| 41 | + current = e.get() |
| 42 | + e.delete(0, END) |
| 43 | + e.insert(0, str(current) + str(number)) |
| 44 | + |
| 45 | + |
| 46 | +def button_add(): |
| 47 | + first_number = e.get() |
| 48 | + global f_num |
| 49 | + global maths |
| 50 | + maths = "addition" |
| 51 | + f_num = int(first_number) |
| 52 | + e.delete(0, END) |
| 53 | + |
| 54 | + |
| 55 | +def button_sub(): |
| 56 | + first_number = e.get() |
| 57 | + global f_num |
| 58 | + global maths |
| 59 | + maths = "subtraction" |
| 60 | + f_num = int(first_number) |
| 61 | + e.delete(0, END) |
| 62 | + |
| 63 | +def button_div(): |
| 64 | + first_number = e.get() |
| 65 | + global f_num |
| 66 | + global maths |
| 67 | + maths = "division" |
| 68 | + f_num = int(first_number) |
| 69 | + e.delete(0, END) |
| 70 | + |
| 71 | +def button_mult(): |
| 72 | + first_number = e.get() |
| 73 | + global f_num |
| 74 | + global maths |
| 75 | + maths = "multiplication" |
| 76 | + f_num = int(first_number) |
| 77 | + e.delete(0, END) |
| 78 | + |
| 79 | +def button_equals(): |
| 80 | + second_number = e.get() |
| 81 | + e.delete(0, END) |
| 82 | + |
| 83 | + if maths == "addition": |
| 84 | + e.insert(0, f_num+int(second_number)) |
| 85 | + if maths == "subtraction": |
| 86 | + e.insert(0, f_num-int(second_number)) |
| 87 | + if maths == "multiplication": |
| 88 | + e.insert(0, f_num*int(second_number)) |
| 89 | + if maths == "division": |
| 90 | + e.insert(0, f_num/int(second_number)) |
| 91 | + |
| 92 | + |
| 93 | +def button_clear(): |
| 94 | + e.delete(0,END) |
| 95 | + |
| 96 | + # Defining Buttons |
| 97 | +button1 = Button(rt,border="3",image=Img1,command= lambda:button_click(1)).grid(row= 1,column=0) |
| 98 | +button2 = Button(rt,border="3",image=Img2,command= lambda:button_click(2)).grid(row= 1,column=1) |
| 99 | +button3 = Button(rt,border="3",image=Img3,command= lambda:button_click(3)).grid(row= 1,column=2) |
| 100 | +button4 = Button(rt,border="3",image=Img4,command= lambda:button_click(4)).grid(row= 2,column=0) |
| 101 | +button5 = Button(rt,border="3",image=Img5,command= lambda:button_click(5)).grid(row= 2,column=1) |
| 102 | +button6 = Button(rt,border="3",image=Img6,command= lambda:button_click(6)).grid(row= 2,column=2) |
| 103 | +button7 = Button(rt,border="3",image=Img7,command= lambda:button_click(7)).grid(row= 3,column=0) |
| 104 | +button8 = Button(rt,border="3",image=Img8,command= lambda:button_click(8)).grid(row= 3,column=1) |
| 105 | +button9 = Button(rt,border="3",image=Img9,command= lambda:button_click(9)).grid(row= 3,column=2) |
| 106 | +button0 = Button(rt,border="3",image=Img0,command= lambda:button_click(0)).grid(row= 4,column=1) |
| 107 | +buttonA = Button(rt,border="3",image=ImgA,command= button_add).grid(row= 4,column=2) |
| 108 | +buttonS = Button(rt,border="3",image=ImgS,command= button_sub).grid(row= 4,column=0) |
| 109 | +buttonM = Button(rt,border="3",image=ImgM,command= button_mult).grid(row= 5,column=1) |
| 110 | +buttonD = Button(rt,border="3",image=ImgD,command= button_div).grid(row= 5,column=0) |
| 111 | +buttonE = Button(rt,border="3",image=ImgE,command= button_equals).grid(row= 5,column=2) |
| 112 | +buttonCLR=Button(rt,border="3",image=ImgCLR,command=button_clear).grid(row= 6,column=1) |
| 113 | + |
| 114 | +rt.mainloop() |
0 commit comments