Sunday, 23 January 2022

Write a Python GUI program to take accept your birthdate and output your age when a button is pressed

Write a Python GUI program to take accept your birthdate and output your age when a button is pressed.

Slip 1 Q 2

CODE :

from tkinter import *  
from tkinter import messagebox  


def clearAll() :  
    dayField.delete(0, END)
    monthField.delete(0, END)
    yearField.delete(0, END)
    givenDayField.delete(0, END)
    givenMonthField.delete(0, END)
    givenYearField.delete(0, END)
    rsltDayField.delete(0, END)
    rsltMonthField.delete(0, END)
    rsltYearField.delete(0, END)

def checkError() :

    if (dayField.get() == "" or monthField.get() == ""
        or yearField.get() == "" or givenDayField.get() == ""
        or givenMonthField.get() == "" or givenYearField.get() == "") :

        messagebox.showerror("Input Error")  

        clearAll()
       
        return -1

def calculateAge() :  
    value = checkError()  
    if value == -1 :
        return      
    else :
       
        birth_day = int(dayField.get())    
        birth_month = int(monthField.get())
        birth_year = int(yearField.get())  

        given_day = int(givenDayField.get())    
        given_month = int(givenMonthField.get())
        given_year = int(givenYearField.get())  
       
        month =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]       
        if (birth_day > given_day):  
            given_month = given_month - 1  
            given_day = given_day + month[birth_month-1]
                   
        if (birth_month > given_month):
            given_year = given_year - 1
            given_month = given_month + 12
                   
        calculated_day = given_day - birth_day;        
        calculated_month = given_month - birth_month;  
        calculated_year = given_year - birth_year;    

        rsltDayField.insert(10, str(calculated_day))
        rsltMonthField.insert(10, str(calculated_month))
        rsltYearField.insert(10, str(calculated_year))  
   
if __name__ == "__main__" :

    gui = Tk()      
    gui.configure(background = "light green")
    gui.title("Age Calculator")    
    gui.geometry("525x260")    
 
 
 
    dob = Label(gui, text = "Date Of Birth", bg = "#00ffff")
 
 

    givenDate = Label(gui, text = "Given Date", bg = "#00ffff")

    day = Label(gui, text = "Day", bg = "light green")
    month = Label(gui, text = "Month", bg = "light green")
    year = Label(gui, text = "Year", bg = "light green")

    givenDay = Label(gui, text = "Given Day", bg = "light green")
    givenMonth = Label(gui, text = "Given Month", bg = "light green")
    givenYear = Label(gui, text = "Given Year", bg = "light green")

    rsltYear = Label(gui, text = "Years", bg = "light green")
    rsltMonth = Label(gui, text = "Months", bg = "light green")
    rsltDay = Label(gui, text = "Days", bg = "light green")


    resultantAge = Button(gui, text = "Resultant Age", fg = "Black",
                     bg = "gray", command = calculateAge)


    clearAllEntry = Button(gui, text = "Clear All", fg = "Black",
                    bg = "Red", command = clearAll)

    dayField = Entry(gui)
    monthField = Entry(gui)
    yearField = Entry(gui)
   
    givenDayField = Entry(gui)
    givenMonthField = Entry(gui)
    givenYearField = Entry(gui)
   
    rsltYearField = Entry(gui)
    rsltMonthField = Entry(gui)
    rsltDayField = Entry(gui)

    dob.grid(row = 0, column = 1)
   
    day.grid(row = 1, column = 0)
    dayField.grid(row = 1, column = 1)
   
    month.grid(row = 2, column = 0)
    monthField.grid(row = 2, column = 1)
   
    year.grid(row = 3, column = 0)
    yearField.grid(row = 3, column = 1)
   
    givenDate.grid(row = 0, column = 4)
   
    givenDay.grid(row = 1, column = 3)
    givenDayField.grid(row = 1, column = 4)
   
    givenMonth.grid(row = 2, column = 3)
    givenMonthField.grid(row = 2, column = 4)
   
    givenYear.grid(row = 3, column = 3)
    givenYearField.grid(row = 3, column = 4)
   
    resultantAge.grid(row = 4, column = 2)
   
    rsltYear.grid(row = 5, column = 2)
    rsltYearField.grid(row = 6, column = 2)
   
    rsltMonth.grid(row = 7, column = 2)
    rsltMonthField.grid(row = 8, column = 2)
   
    rsltDay.grid(row = 9, column = 2)
    rsltDayField.grid(row = 10, column = 2)

    clearAllEntry.grid(row = 12, column = 2)

    gui.mainloop()




output

output


for more solutions request comment us.





No comments:

Post a Comment

Write a Java program to display given extension files from a specific directory on server machine.

 DOWNLOAD     SLIP14Q2 /** * STEPS TO RUN CODE * Step 01 compile the code * Step 02 run the code * Step 03 give a file directory locatio...