Home » A simple python GUI calculator using TKInter

A simple python GUI calculator using TKInter

A simple python GUI calculator using TKInter

Hello everybody, Welcome back to programminginpython.com! Now am going to show you how to make a simple Python GUI application, basically, the app is a simple calculator which adds two numbers. I used TKInter which is a standard GUI package for Python. In the previous post, I covered the basic introduction to GUI programming in Python, here I will use those and also extend some other things to build this simple app. So get ready for a simple python GUI calculator using TKInter.

You can also watch the video on YouTube here

Program on Github

Below are the screenshots, how what our basic app looks like,

A simple python GUI calculator using TKInter
A simple Python GUI calculator using TKInter

A simple python GUI calculator using TKInter
A simple Python GUI calculator using TKInter

 

Here I used, a grid layout for designing the layout, in the previous post, I told about pack() which sets the widgets automatically based on available space in the window, but here we can set the widgets where we want to place them.

Firstly import and initialize TKInter,

import tkinter as tk
..
..
root = tk.Tk()

I also set the size of the app and its title,

root.geometry('400x200+100+200')
root.title('Simple Calculator')

I also added some labels and input fields to read the entered numbers,

labelTitle = tk.Label(root, text="Simple Calculator").grid(row=0, column=2)
labelNum1 = tk.Label(root, text="Enter a number").grid(row=1, column=0)
labelNum2 = tk.Label(root, text="Enter another number").grid(row=2, column=0)
labelResult = tk.Label(root)
labelResult.grid(row=7, column=2)

entryNum1 = tk.Entry(root,textvariable=number1).grid(row=1, column=2)
entryNum2 = tk.Entry(root,textvariable=number2).grid(row=2, column=2)

Then I add a button, when clicked, calculates the result and displays it in the label labelResult I initialized the above.

Program on Github

So when the button is clicked, a function is called which calculates the sum of both the numbers.

call_result = partial(call_result, labelResult, number1, number2) 
buttonCal = tk.Button(root, text="Calculate", command=call_result).grid(row=3, column=0)

The command parameter to Button function calls the call_resultfunction, which does the simple logic.

The call_result function.

def call_result(label_result, n1, n2):
    num1 = (n1.get())
    num2 = (n2.get())
    result = int(num1)+int(num2)
    label_result.config(text="Result is %d" % result)
    return

Program on GitHub

Feel free to look at my previous posts on Python GUI programming.

Program

__author__ = 'Avinash'

import tkinter as tk
from functools import partial


def call_result(label_result, n1, n2):
    num1 = (n1.get())
    num2 = (n2.get())
    result = int(num1)+int(num2)
    label_result.config(text="Result is %d" % result)
    return

root = tk.Tk()
root.geometry('400x200+100+200')
root.title('Simple Calculator')

number1 = tk.StringVar()
number2 = tk.StringVar()

labelTitle = tk.Label(root, text="Simple Calculator").grid(row=0, column=2)
labelNum1 = tk.Label(root, text="Enter a number").grid(row=1, column=0)
labelNum2 = tk.Label(root, text="Enter another number").grid(row=2, column=0)
labelResult = tk.Label(root)
labelResult.grid(row=7, column=2)

entryNum1 = tk.Entry(root, textvariable=number1).grid(row=1, column=2)
entryNum2 = tk.Entry(root, textvariable=number2).grid(row=2, column=2)
call_result = partial(call_result, labelResult, number1, number2)
buttonCal = tk.Button(root, text="Calculate", command=call_result).grid(row=3, column=0)
root.mainloop()

That’s it for this post guys, also feel free to look at other Python tutorials on GUI Programming.

Online Python Compiler

Leave a Reply

Your email address will not be published. Required fields are marked *