Рубрики
Без рубрики

Python Tkinter: Калькулятор возраста графического интерфейса

Привет, ученик! Сегодня мы собираемся создать графическое приложение, калькулятор возраста с использованием Python Tkinter.

Автор оригинала: Pankaj Kumar.

Привет, ученик! Сегодня мы собираемся создать графическое приложение, калькулятор возраста с использованием Python Tkinter .

Давайте начнем!

Название приложения говорит обо всем, что приложение будет делать, поэтому давайте сразу приступим к созданию приложения.

Разработка интерфейса калькулятора возраста

Первым шагом в любом проекте Tkinter является проектирование окна приложения. Проектирование включает в себя два этапа, а именно:

  1. Создание пользовательского окна
  2. Добавление элементов в оконное приложение

Создание пользовательского окна

Чтобы создать пустое пользовательское окно. Мы должны импортировать модуль tkinter и создать объект окна. Затем мы добавим цвет фона и название оконного приложения.

И мы также установили изменяемые размеры объектов в False , чтобы убедиться, что размеры остаются неизменными. Код для того же самого показан ниже.

import tkinter as tk
window = tk.Tk()
window.geometry("400x300")
window.config(bg="#F7DC6F")
window.resizable(width=False,height=False)
window.title('Age Calculator!')

Добавление всех необходимых элементов в окно

Следующий шаг включает в себя добавление всех меток, полей ввода, кнопок и текстовых полей в нашем приложении.

1. Этикетки

Мы будем использовать несколько ярлыков, где каждый ярлык будет служить другой цели. У нас были бы ярлыки для вводной информации, маркировка полей ввода с просьбой указать дату рождения пользователя.

2. Входные ящики

Мы будем использовать три поля для ввода даты рождения пользователя. Один будет для даты, один для месяца, в то время как последний будет для года рождения.

3. Кнопки

В нашем приложении мы будем использовать две кнопки, одну для расчета возраста , а другую для выхода из приложения.

4. Текстовые поля

Мы будем использовать только одно текстовое поле для отображения расчетного возраста.

Весь код дизайна показан ниже. мы будем настраивать элементы в соответствии с нашими предпочтениями. Вы можете изменить его, если хотите.

l1 = tk.Label(window,text="The Age Calculator!",font=("Arial", 20),fg="black",bg="#F7DC6F")
l2 = tk.Label(window,font=("Arial",12),text="Enter your birthday which includes the day-month-year.",fg="black",bg="#F7DC6F")

l_d=tk.Label(window,text="Date: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
l_m=tk.Label(window,text="Month: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
l_y=tk.Label(window,text="Year: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
e1=tk.Entry(window,width=5)
e2=tk.Entry(window,width=5)
e3=tk.Entry(window,width=5)

b1=tk.Button(window,text="Calculate Age!",font=("Arial",13),command=get_age)

l3 = tk.Label(window,text="The Calculated Age is: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
t1=tk.Text(window,width=5,height=0,state="disabled")

b2=tk.Button(window,text="Exit Application!",font=("Arial",13),command=exit)

Размещение элементов на экране

Чтобы разместить элементы на экране, мы используем функцию place , которая требует координат x и y для размещения элементов в правильном положении.

Код для размещения элементов показан ниже:

l1.place(x=70,y=5)
l2.place(x=10,y=40)
l_d.place(x=100,y=70)
l_m.place(x=100,y=95)
l_y.place(x=100,y=120)
e1.place(x=180,y=70)
e2.place(x=180,y=95)
e3.place(x=180,y=120)
b1.place(x=100,y=150)
l3.place(x=50,y=200)
t1.place(x=240,y=203)
b2.place(x=100,y=230)

Интерфейс для калькулятора возраста в Tkinter

Окончательный дизайн приложения выглядит как окно, отображаемое ниже.

Калькулятор Возраста начального состояния

Добавление функциональных возможностей к кнопкам

1. Кнопка Рассчитать Возраст

Чтобы рассчитать возраст, мы сначала должны получить три входных данных ( данные – месяц – год ) из трех полей ввода. Теперь следующий шаг включает в себя вычисление разницы между датой рождения и текущей датой.

Чтобы получить текущую дату, мы импортируем функцию data из модуля datetime . Мы также создаем объект, в котором хранится вся сегодняшняя дата. Код для того же самого показан ниже:

from datetime import date
today = date.today()

Теперь мы создаем функцию, которая вычисляет возраст и подключается к кнопке вычислить возраст. Функция получает три записи и находит возраст ( разница между текущим и датой рождения )

Рассчитанный возраст затем вставляется в текстовое поле после очистки предыдущей информации в текстовом поле. Код для того же самого показан ниже:

def get_age():
    d= int(e1.get())
    m=int(e2.get())
    y=int(e3.get())
    age = today.year-y-((today.month, today.day)<(m,d))
    t1.config(state='normal')
    t1.delete('1.0', tk.END)
    t1.insert(tk.END,age)
    t1.config(state='disabled')

Выделенная строка является основным оператором кода, который вычисляет возраст.

2. Кнопка Выхода из приложения

Для кнопки выхода из приложения мы просто создаем функцию, которая уничтожает окно, и после этого добавляем атрибут command в объявление кнопки.

Код функции выхода показан ниже:

def exit():
    window.destroy()

Полный код для калькулятора возраста на Python

Весь код приведен ниже:

from datetime import date
today = date.today()

def exit():
    window.destroy()
def get_age():
    d= int(e1.get())
    m=int(e2.get())
    y=int(e3.get())
    age =today.year-y-((today.month, today.day)<(m,d))
    t1.config(state='normal')
    t1.delete('1.0', tk.END)
    t1.insert(tk.END,age)
    t1.config(state='disabled')

import tkinter as tk
window = tk.Tk()
window.geometry("400x300")
window.config(bg="#F7DC6F")
window.resizable(width=False,height=False)
window.title('Age Calculator!')

l1 = tk.Label(window,text="The Age Calculator!",font=("Arial", 20),fg="black",bg="#F7DC6F")
l2 = tk.Label(window,font=("Arial",12),text="Enter your birthday which includes the day-month-year.",fg="black",bg="#F7DC6F")

l_d=tk.Label(window,text="Date: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
l_m=tk.Label(window,text="Month: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
l_y=tk.Label(window,text="Year: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
e1=tk.Entry(window,width=5)
e2=tk.Entry(window,width=5)
e3=tk.Entry(window,width=5)

b1=tk.Button(window,text="Calculate Age!",font=("Arial",13),command=get_age)

l3 = tk.Label(window,text="The Calculated Age is: ",font=('Arial',12,"bold"),fg="darkgreen",bg="#F7DC6F")
t1=tk.Text(window,width=5,height=0,state="disabled")

b2=tk.Button(window,text="Exit Application!",font=("Arial",13),command=exit)

l1.place(x=70,y=5)
l2.place(x=10,y=40)
l_d.place(x=100,y=70)
l_m.place(x=100,y=95)
l_y.place(x=100,y=120)
e1.place(x=180,y=70)
e2.place(x=180,y=95)
e3.place(x=180,y=120)
b1.place(x=100,y=150)
l3.place(x=50,y=200)
t1.place(x=240,y=203)
b2.place(x=100,y=230)

window.mainloop()

Выход:

Теперь, когда мы все закончили с частью кодирования. Давайте запустим приложение! И это работает отлично, то же самое можно увидеть на выводах ниже.

Выход 1 Калькулятор возраста
Выход 2 Калькулятор возраста

Вывод

Поздравляю! Сегодня вы узнали, как построить свой калькулятор возраста! Надеюсь, вам было весело!

Спасибо, что прочитали!