Simple GUI Calculator Using Tkinter In Python

assignment advertisement

We will make a Simple GUI Calculator Using Tkinter In Python which is a python module to make GUI applications simply so that’s why we will use it to make a GUI Calculator Using tkinter

Here we are going to provide you with the source code with a complete explanation so that you can easily make your GUI Calculator Using tkinter

Source Code

# importing the tkinter module
from tkinter import *

# initializing the tkinter
root = Tk()

# setting the width and height of the gui
root.geometry("430x500")    # x is small case here

# declaring an empty string variable
expression = ""

# defining function which will set expressions and answers to the  user
def setexpression(num):
    global expression
    expression = expression + str(num)

# defining a function to calculate the expression entered by the user
def calculator():
        global expression
        answer = str(eval(expression))
        value.set("Enter correct expression")
        expression = ""

# function to clear everything in expression
def clear():
    global expression
    expression = ""

# declaring font variables as ("Language", size)
large_font = ('Verdana', 15)
small_font = ('Verdana', 10)

# declaring variable to take value of expression entered by the user
value = StringVar(value="Enter expression")

# entry widget to take expression from user and to show 
# calculations 
Entry(root, textvariable=value, font=large_font).grid(row=0, 
    column=0, columnspan=4, ipadx=70)

# Now, there are some most basic buttons which should be present 
# in a calculator
# here, each button is calling the setexpression function which 
# is used to set values in the entry widget entered by the user 
# on pressing the buttons 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, .
Button(root, text="+", fg="red", command=lambda: 
    setexpression("+"), height=4,width=8).grid(row=1,column=0,pady=10)
Button(root, text="-", fg="red", command=lambda:
    setexpression("-"), height=4, width=8).grid(row=2, column=0, pady=10)
Button(root, text="X", fg="red", command=lambda: 
    setexpression("*"), height=4, width=8).grid(row=3, column=0,pady=10)
Button(root, text="/", fg="red", command=lambda: 
    setexpression("/"), height=4, width=8).grid(row=4, column=0,pady=10)
Button(root, text="1", fg="red", command=lambda: 
    setexpression("1"), height=4, width=8).grid(row=1, column=1,pady=10)
Button(root, text="2", fg="red", command=lambda: 
    setexpression("2"), height=4, width=8).grid(row=1, column=2,pady=10)
Button(root, text="3", fg="red", command=lambda: 
    setexpression("3"), height=4, width=8).grid(row=1, column=3,pady=10)
Button(root, text="4", fg="red", command=lambda: 
    setexpression("4"), height=4, width=8).grid(row=2, column=1,pady=10)
Button(root, text="5", fg="red", command=lambda: 
    setexpression("5"), height=4, width=8).grid(row=2, column=2)
Button(root, text="6", fg="red", command=lambda: 
    setexpression("6"), height=4, width=8).grid(row=2, column=3,pady=10)
Button(root, text="7", fg="red", command=lambda: 
    setexpression("7"), height=4, width=8).grid(row=3, column=1,pady=10)
Button(root, text="8", fg="red", command=lambda: 
    setexpression("8"), height=4, width=8).grid(row=3, column=2,pady=10)
Button(root, text="9", fg="red", command=lambda: 
    setexpression("9"), height=4, width=8).grid(row=3, column=3,pady=10)
Button(root, text="0", fg="red", command=lambda: 
    setexpression("0"), height=4, width=8).grid(row=4, column=2,pady=10)
Button(root, text=".", fg="red", command=lambda: 
    setexpression("."), height=4, width=8).grid(row=4, column=1,pady=10)

# "=" button to call the calculator button which will return and 
# show the calculated value in the entry widget
Button(root, text="=", fg="red", command=calculator, height=4,
width=8).grid(row=4, column=3, pady=10)

# "Clear" button to call the clear function which will clear the 
# entry widget so that the user can start clculating again
Button(root, text="Clear", fg="red", command=clear, height=4, 
    width=20).grid(row=5, column=1, pady=10)

# .mainloop() is used when the code is ready to run

Thanks for reading

Watch YouTube Video:

Keep updated for more amazing content like this

Also read:

Print Colored Text Output in Python

Introduction Command line applications often return text in the same color as the terminal. There are times when we wish to draw the user’s attention to output, such as a warning or error message. In certain circumstances, a splash of color may make all the difference. This article demonstrates how to Print Colored Text Output…

Continue Reading Print Colored Text Output in Python

Make money with Python in 2022

Hello friends, do you know there are many ways to can make money with Python? Yes, I am not joking, this is absolutely real, anyone even a beginner can money with Python or any other technology/programming language. We are not lying, today, we are going to tell you the top 10 real and 100% working…

Continue Reading Make money with Python in 2022

Top 15 Python Libraries For Machine Learning in 2022

Introduction  In today’s digital environment, artificial intelligence (AI) and machine learning (ML) are getting more and more popular. Because of their growing popularity, machine learning technologies and algorithms should be mastered by IT workers. Specifically, Python machine learning libraries are what we are investigating today. We give individuals a head start on the new year…

Continue Reading Top 15 Python Libraries For Machine Learning in 2022

Team Points in Python | Assignment Expert

Problem Statement: This is IPL and matches are going on. You are a programmer who writes programs to output summarized charts of matches already played.You will be given some input and you need to print a summarized chart in descending order of points. Points criteria->Match won-> 2Draw-> 1Loss-> 0 For exampleInput:4RR-RCB-lossMI-KKR-lossCSK-RR-winGT-RCB-drawOutput:Team: RR | Total Matches:…

Continue Reading Team Points in Python | Assignment Expert

Avatar of Harry

Author: Harry

Hello friends, thanks for visiting my website. I am a Python programmer. I, with some other members, write blogs on this website based on Python and Programming. We are still in the growing phase that's why the website design is not so good and there are many other things that need to be corrected in this website but I hope all these things will happen someday. But, till then we will not stop ourselves from uploading more amazing articles. If you want to join us or have any queries, you can mail me at Thank you

3 thoughts on “Simple GUI Calculator Using Tkinter In Python

  1. in your source code in line 52 is an “h” missing in front of eight…
    should be “height”….
    than it works fine, thanks 🙂

  2. Brilliant post this match. I was checking constantly this vortal and Im ecciting! Extremely useful info specifically the last post 🙂 I was looking for this particular info for a long time. Thank you and good luck…

Comments are closed.