Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2268ee7

Browse files
Merge pull request avinashkranjan#1261 from MesutKihal/master
age_calc_gui.py
2 parents 696dfae + 17f8b17 commit 2268ee7

File tree

1 file changed

+67
-60
lines changed

1 file changed

+67
-60
lines changed

‎Age-Calculator-GUI/age_calc_gui.py

Lines changed: 67 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,70 @@
11
# import libraries
2-
from tkinter import*
2+
import tkinter astk
33
from datetime import date
44

5-
# initialized window
6-
root = Tk()
7-
root.geometry('280x300')
8-
root.resizable(0, 0)
9-
root.title('Age Calculator')
10-
statement = Label(root)
11-
12-
# defining the function for calculating age
13-
14-
15-
def ageCalc():
16-
global statement
17-
statement.destroy()
18-
today = date.today()
19-
birthDate = date(int(yearEntry.get()), int(
20-
monthEntry.get()), int(dayEntry.get()))
21-
age = today.year - birthDate.year
22-
if today.month < birthDate.month or today.month == birthDate.month and today.day < birthDate.day:
23-
age -= 1
24-
statement = Label(text=f"{nameValue.get()}'s age is {age}.")
25-
statement.grid(row=6, column=1, pady=15)
26-
27-
28-
# creating a label for person's name to display
29-
l1 = Label(text="Name: ")
30-
l1.grid(row=1, column=0)
31-
nameValue = StringVar()
32-
33-
# creating a entry box for input
34-
nameEntry = Entry(root, textvariable=nameValue)
35-
nameEntry.grid(row=1, column=1, padx=10, pady=10)
36-
37-
# label for year in which user was born
38-
l2 = Label(text="Year: ")
39-
l2.grid(row=2, column=0)
40-
yearValue = StringVar()
41-
yearEntry = Entry(root, textvariable=yearValue)
42-
yearEntry.grid(row=2, column=1, padx=10, pady=10)
43-
44-
# label for month in which user was born
45-
l3 = Label(text="Month: ")
46-
l3.grid(row=3, column=0)
47-
monthValue = StringVar()
48-
monthEntry = Entry(root, textvariable=monthValue)
49-
monthEntry.grid(row=3, column=1, padx=10, pady=10)
50-
51-
# label for day/date on which user was born
52-
l4 = Label(text="Day: ")
53-
l4.grid(row=4, column=0)
54-
dayValue = StringVar()
55-
dayEntry = Entry(root, textvariable=dayValue)
56-
dayEntry.grid(row=4, column=1, padx=10, pady=10)
57-
58-
# create a button for calculating age
59-
button = Button(text="Calculate age", command=ageCalc)
60-
button.grid(row=5, column=1)
61-
62-
# infinite loop to run program
63-
root.mainloop()
5+
# GUI App class
6+
class App:
7+
def __init__(self):
8+
# initialized window
9+
self.master = tk.Tk()
10+
self.master.geometry('280x300')
11+
self.master.configure(bg="lightblue")
12+
self.master.resizable(0, 0)
13+
self.master.title('Age Calculator')
14+
self.statement = tk.Label(self.master)
15+
16+
def run(self):
17+
# creating a label for person's name to display
18+
self.l1 = tk.Label(text="Name: ", font="courier 10", bg="lightblue")
19+
self.l1.grid(row=1, column=0)
20+
nameValue = tk.StringVar()
21+
22+
# creating a entry box for input
23+
self.nameEntry = tk.Entry(self.master, textvariable=nameValue, relief="solid")
24+
self.nameEntry.grid(row=1, column=1, padx=10, pady=10)
25+
26+
# label for year in which user was born
27+
self.l2 = tk.Label(text="Year: ", font="courier 10", bg="lightblue")
28+
self.l2.grid(row=2, column=0)
29+
yearValue = tk.StringVar()
30+
self.yearEntry = tk.Entry(self.master, textvariable=yearValue, relief="solid")
31+
self.yearEntry.grid(row=2, column=1, padx=10, pady=10)
32+
33+
# label for month in which user was born
34+
self.l3 = tk.Label(text="Month: ", font="courier 10", bg="lightblue")
35+
self.l3.grid(row=3, column=0)
36+
monthValue = tk.StringVar()
37+
self.monthEntry = tk.Entry(self.master, textvariable=monthValue, relief="solid")
38+
self.monthEntry.grid(row=3, column=1, padx=10, pady=10)
39+
40+
# label for day/date on which user was born
41+
self.l4 = tk.Label(text="Day: ", font="courier 10", bg="lightblue")
42+
self.l4.grid(row=4, column=0)
43+
dayValue = tk.StringVar()
44+
self.dayEntry = tk.Entry(self.master, textvariable=dayValue, relief="solid")
45+
self.dayEntry.grid(row=4, column=1, padx=10, pady=10)
46+
47+
# defining the function for calculating age
48+
def ageCalc():
49+
self.statement.destroy()
50+
today = date.today()
51+
birthDate = date(int(self.yearEntry.get()), int(
52+
self.monthEntry.get()), int(self.dayEntry.get()))
53+
age = today.year - birthDate.year
54+
if today.month < birthDate.month or today.month == birthDate.month and today.day < birthDate.day:
55+
age -= 1
56+
self.statement = tk.Label(text=f"{nameValue.get()}'s age is {age}.", font="courier 10", bg="lightblue")
57+
self.statement.grid(row=6, column=1, pady=15)
58+
59+
# create a button for calculating age
60+
self.button = tk.Button(text="Calculate age", font="courier 12 bold", fg="white", bg="dodgerblue", command=ageCalc)
61+
self.button.grid(row=5, column=1)
62+
63+
# infinite loop to run program
64+
self.master.mainloop()
65+
66+
67+
if __name__ == '__main__':
68+
age_calc = App()
69+
age_calc.run()
70+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /