Python GUI, Tkinter Calculator

Published: 30 May 2021
on channel: Tech With Otabek
247
10

Here is the all codes below so you can use and practice by your own.

from tkinter import *

root = Tk()
root.title("Calculator")
root.configure(bg="#4a503d")

e = Entry(root, width=16, borderwidth=2, bg="#8e9775", fg="white", font=("Helvetica", 22, "bold"))
e.grid(row=0, column=0, columnspan=3, padx=5, pady=5, ipadx=10, ipady=13)

def button_click(number):
#e.delete(0, END)
current = e.get()
e.delete(0, END)
e.insert(0, str(current) + str(number))

def button_clear():
e.delete(0, END)

def button_add():
first_number = e.get()
global f_num
global math
math = "addition"
f_num = int(first_number)
e.delete(0, END)

def button_equal():
second_number = e.get()
e.delete(0, END)

if math == "addition":
e.insert(0, f_num + int(second_number))
if math == "subtraction":
e.insert(0, f_num - int(second_number))
if math == "multiplication":
e.insert(0, f_num * int(second_number))
if math == "division":
e.insert(0, f_num / int(second_number))


def button_subtract():
first_number = e.get()
global f_num
global math
math = "subtraction"
f_num = int(first_number)
e.delete(0, END)

def button_multiply():
first_number = e.get()
global f_num
global math
math = "multiplication"
f_num = int(first_number)
e.delete(0, END)

def button_divide():
first_number = e.get()
global f_num
global math
math = "division"
f_num = int(first_number)
e.delete(0, END)

button_1 = Button(root, text='1', bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text='2',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text='3',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text='4',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text='5',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text='6',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text='7',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text='8',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text='9',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text='0',bg="#4a503d",fg="white", padx=40, pady=20, command=lambda: button_click(0))
button_add = Button(root, text='+',bg="#4a503d",fg="white", padx=39, pady=20, command= button_add)
button_equal = Button(root, text='=',bg="#4a503d",fg="white", padx=87, pady=20, command= button_equal)
button_clear = Button(root, text='Clear',bg="#4a503d",fg="white", padx=78, pady=20, command=button_clear)

button_subtract = Button(root, text='-',bg="#4a503d",fg="white", padx=40, pady=20, command= button_subtract)
button_multiply = Button(root, text='*',bg="#4a503d",fg="white", padx=41, pady=20, command= button_multiply)
button_divide = Button(root, text='/',bg="#4a503d",fg="white", padx=40, pady=20, command= button_divide)


button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)

button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)

button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)

button_0.grid(row=4, column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_equal.grid(row=5, column=1, columnspan=2)

button_subtract.grid(row=6, column=0)
button_multiply.grid(row=6, column=1)
button_divide.grid(row=6, column=2)


root.mainloop()


On this page of the site you can watch the video online Python GUI, Tkinter Calculator with a duration of hours minute second in good quality, which was uploaded by the user Tech With Otabek 30 May 2021, share the link with friends and acquaintances, this video has already been watched 247 times on youtube and it was liked by 10 viewers. Enjoy your viewing!