Create a GUI calculator using python programming language | Python Tkinter GUI | Code Hub

MNC Answers
0
 In this post we will learn about How to How to Create a Digital clock using python programming language. In this program we using "tkinter " package.

Tkinter package:

    In this Tkinter package used to create a simple GUI (Graphical User Interface). With the help of tkinter framework user can create a simplest graphical user interface elements using the widgets found in the Tk toolkit


Create a GUI calculator using python programming language | Python Tkinter GUI | Code Hub



Summary:

This tutorial will show you how to use Python Tkinter to make a straightforward calculator application.

The creation of tkinter buttons, tkinter labels, tkinter entries, tkinter frames, tkinter checkbuttons, and many more has been covered, just like in our previous tutorials. We will now use all the widgets covered in the earlier sections to build a calculator application using Tkinter.

Source code: 

from tkinter import *


win = Tk() # This is to create a basic window

win.geometry("312x324")  # this is for the size of the window 

win.resizable(0, 0)  # this is to prevent from resizing the window

win.title("CodeHub - Calculator")


###################Starting with functions ####################

# 'btn_click' function : 

# This Function continuously updates the 

# input field whenever you enter a number


def btn_click(item):

    global expression

    expression = expression + str(item)

    input_text.set(expression)


# 'bt_clear' function :This is used to clear 

# the input field


def bt_clear(): 

    global expression 

    expression = "" 

    input_text.set("")

 

# 'bt_equal':This method calculates the expression 

# present in input field

 

def bt_equal():

    global expression

    result = str(eval(expression)) # 'eval':This function is used to evaluates the string expression directly

    input_text.set(result)

    expression = ""

 

expression = ""

 

# 'StringVar()' :It is used to get the instance of input field

 

input_text = StringVar()

 

# Let us creating a frame for the input field

 

input_frame = Frame(win, width=312, height=50, bd=0, highlightbackground="black", highlightcolor="black", highlightthickness=2)

 

input_frame.pack(side=TOP)

 

#Let us create a input field inside the 'Frame'

 

input_field = Entry(input_frame, font=('arial', 18, 'bold'), textvariable=input_text, width=50, bg="#eee", bd=0, justify=RIGHT)

 

input_field.grid(row=0, column=0)

 

input_field.pack(ipady=10) # 'ipady' is internal padding to increase the height of input field

 

#Let us creating another 'Frame' for the button below the 'input_frame'

 

btns_frame = Frame(win, width=312, height=272.5, bg="grey")

 

btns_frame.pack()

 

# first row

 

clear = Button(btns_frame, text = "C", fg = "black", width = 32, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: bt_clear()).grid(row = 0, column = 0, columnspan = 3, padx = 1, pady = 1)

 

divide = Button(btns_frame, text = "/", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("/")).grid(row = 0, column = 3, padx = 1, pady = 1)

 

# second row

 

seven = Button(btns_frame, text = "7", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(7)).grid(row = 1, column = 0, padx = 1, pady = 1)

 

eight = Button(btns_frame, text = "8", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(8)).grid(row = 1, column = 1, padx = 1, pady = 1)

 

nine = Button(btns_frame, text = "9", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(9)).grid(row = 1, column = 2, padx = 1, pady = 1)

 

multiply = Button(btns_frame, text = "*", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("*")).grid(row = 1, column = 3, padx = 1, pady = 1)

 

# third row

 

four = Button(btns_frame, text = "4", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(4)).grid(row = 2, column = 0, padx = 1, pady = 1)

 

five = Button(btns_frame, text = "5", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(5)).grid(row = 2, column = 1, padx = 1, pady = 1)

 

six = Button(btns_frame, text = "6", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(6)).grid(row = 2, column = 2, padx = 1, pady = 1)

 

minus = Button(btns_frame, text = "-", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("-")).grid(row = 2, column = 3, padx = 1, pady = 1)

 

# fourth row

 

one = Button(btns_frame, text = "1", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(1)).grid(row = 3, column = 0, padx = 1, pady = 1)

 

two = Button(btns_frame, text = "2", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(2)).grid(row = 3, column = 1, padx = 1, pady = 1)

 

three = Button(btns_frame, text = "3", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(3)).grid(row = 3, column = 2, padx = 1, pady = 1)

 

plus = Button(btns_frame, text = "+", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("+")).grid(row = 3, column = 3, padx = 1, pady = 1)

 

# fourth row

 

zero = Button(btns_frame, text = "0", fg = "black", width = 21, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(0)).grid(row = 4, column = 0, columnspan = 2, padx = 1, pady = 1)

 

point = Button(btns_frame, text = ".", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click(".")).grid(row = 4, column = 2, padx = 1, pady = 1)

 

equals = Button(btns_frame, text = "=", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: bt_equal()).grid(row = 4, column = 3, padx = 1, pady = 1)

 

win.mainloop() (code-box)


Video output :


Output:

Create a GUI calculator using python programming language | Python Tkinter GUI | Code Hub

F.A.Qs - 

1) What is Python ?

Python is a high-level, interpreted, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. Read more https://en.wikipedia.org/wiki/Python_...)


2) What is turtle / turtle graphics ?

Turtle graphics is a popular way for introducing programming to kids. It was part of the original Logo programming language developed by Wally Feurzeig, Seymour Papert and Cynthia Solomon in 1967. Read more https://docs.python.org/3/library/tur...

3) Which software is used to execute code ?

Visual studio code    


Post a Comment

0Comments
Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
Youtube Channel Image
MM4Tech Subscribe To watch more Tutorials
Subscribe