Python 3 Tkinter Age Calculator From Date of Birth in Days,Months and Years GUI Script Desktop App Full Project For Beginners

Python 3 Tkinter Age Calculator From Date of Birth in Days,Months and Years GUI Script Desktop App Full Project For Beginners

 

 

Welcome folks today in this blog post we will be building a age calculator in tkinter using date of birth using python. All the full source code of the application is given below.

 

 

Get Started

 

 

In order to get started you need to make an app.py file and copy paste the below code

 

app.py

 

#importing modules
from tkinter import *
from datetime import date

root=Tk()    #creating window
root.title("AGE-CALCULATOR")   #setting up title
root.configure(bg="#D5C6FF")   #setting up backround color
root.geometry("400x300")    #fixing the size of the window
new=Label(root,bg="#D5C6FF")  #declaring a lable
new.grid(row=5,column=0,columnspan=3)

today=str(date.today())    #getting current date using datetime module
list_today=today.split("-")  #converting into a list
#defining a function to calcutate age
def age(b_date,b_month,b_year):
    global today
    global new
    new.grid_forget()
    b_date=int(entry_date.get())
    b_month=int(entry_month.get())
    b_year=int(entry_year.get())
    c_date=int(list_today[2])
    c_month=int(list_today[1])
    c_year=int(list_today[0])
    month =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if(b_date>c_date):
        c_month=c_month-1
        c_date=c_date+month[b_month-1]
    if (b_month>c_month):
        c_year=c_year-1
        c_month=c_month+12
    resultd=str(c_date-b_date)
    resultm=str(c_month-b_month)
    resulty=str(c_year-b_year)
    new=Label(root,text="YOUR AGE \n"+resulty+" YEARS "+resultm+" MONTHS "+ resultd+" DAYS ",fg="#990099",bg="#D5C6FF",borderwidth=6)
    new.config(font=("Arial Rounded MT Bold",15))
    new.grid(row=5,column=0,columnspan=3)

#defining a function to clear the previous entries
def clean(entry_date,entry_month,entry_year):
    global new
    new.grid_forget()
    entry_date.delete(0,END)
    entry_month.delete(0,END)
    entry_year.delete(0,END)

#creating widgets such as labels,entry boxes and buttons and fixing its position onto window    
title_label=Label(root,text="AGE CALCULATOR",borderwidth=10,fg="#6600CC",bg="#D5C6FF")
title_label.config(font=("Broadway",29))
title_label.grid(row=0,column=0,columnspan=3)
label_date=Label(root,text="BIRTH DATE : ",borderwidth=4,fg="#990099",bg="#D5C6FF")
label_date.config(font=("Arial Rounded MT Bold",15))
label_date.grid(row=1,column=0)
label_month=Label(root,text="BIRTH MONTH : ",borderwidth=5,fg="#990099",bg="#D5C6FF")
label_month.config(font=("Arial Rounded MT Bold",15))
label_month.grid(row=2,column=0)
label_year=Label(root,text="BIRTH YEAR : ",borderwidth=9,fg="#990099",bg="#D5C6FF")
label_year.config(font=("Arial Rounded MT Bold",15))
label_year.grid(row=3,column=0)

entry_date=Entry(root,width=20,borderwidth=3)
entry_month=Entry(root,width=20,borderwidth=3)
entry_year=Entry(root,width=20,borderwidth=3)

entry_date.grid(row=1,column=2)
entry_month.grid(row=2,column=2)
entry_year.grid(row=3,column=2)

#getting the value in the entry boxes
b_date=entry_date.get()
b_month=entry_month.get()
b_year=entry_year.get()

#calling age function in button widget
submit=Button(root,text="GET AGE!!",width=10,anchor=CENTER,command=lambda:age(b_date,b_month,b_year),bg="#6600CC",fg="#D5C6FF",borderwidth=5)
submit.grid(row=4,column=0)

#calling clean function in button widget
clear=Button(root,text="CLEAR",width=10,command=lambda:clean(entry_date,entry_month,entry_year),bg="#6600CC",fg="#D5C6FF",borderwidth=5)
clear.grid(row=4,column=2)

root.mainloop()

 

READ  Python 3 Tkinter to Change CSS or Background Color of Button When Pressed or Clicked By User in GUI Desktop App Full Project For Beginners

 

And now if you execute the python script by typing the below command as shown below

 

python app.py

 

 

Leave a Reply