Введение
В этом проекте мы проведем вас по созданию простого графического интерфейса калькулятора с использованием Python и библиотеки tkinter. Этот калькулятор сможет выполнять простые арифметические операции, такие как сложение, вычитание, умножение и деление.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- настраивать главное окно tkinter для калькулятора;
- добавлять функцию вычислений для выполнения арифметических операций;
- создавать поле ввода для пользователя, чтобы он мог вводить числа и просматривать результаты;
- добавлять кнопки для цифр, арифметических операций и функции очистки;
- запускать цикл событий tkinter для запуска калькулятора.
🏆 Достижения
После завершения этого проекта вы сможете:
- использовать библиотеку tkinter для создания графического пользовательского интерфейса;
- связывать функции с кнопками, чтобы обеспечить интерактивность;
- выполнять базовые арифметические операции в Python;
- отображать и обновлять результаты с использованием поля ввода.
Создайте файл проекта
Во - первых, создайте новый файл на Python под названием labex_calculator.py. В этом файле будет храниться код нашего калькулятора. Чтобы создать файл, вы можете использовать терминал или графический интерфейс вашей операционной системы.
## Создание нового файла на Python
cd ~/project
touch labex_calculator.py
Настройте главное окно Tkinter
Для начала построения нашего калькулятора откройте файл labex_calculator.py в текстовом редакторе. Первым шагом при создании графического пользовательского интерфейса (GUI) нашего калькулятора является создание главного окна. Мы это сделаем с использованием библиотеки tkinter.
## Импортирование библиотеки tkinter
import tkinter as tk
## Создание главного окна tkinter / toplevel
root = tk.Tk()
root.title('LabEx Calculator') ## Установка заголовка нашего калькулятора
root.geometry('400x600') ## Установка размера нашего калькулятора
root.configure(background='light blue') ## Установка цвета фона нашего калькулятора
Добавьте функцию вычислений
Для того, чтобы калькулятор мог выполнять арифметические операции, определите функцию calculate.
def calculate(event):
text = event.widget.cget('text') ## Получение текста из кнопки
if text == '=':
try:
result = str(eval(entry.get())) ## Вычисление результата
entry.set(result) ## Установка результата в поле ввода
except Exception as e:
entry.set('Error') ## В случае ошибки установить в поле ввода 'Error'
return
if text == 'C':
entry.set('') ## Если нажата 'C', очистить поле ввода
return
entry.set(entry.get() + text) ## Добавление текста нажатой кнопки к полю ввода
Создайте поле ввода
Создайте поле ввода, чтобы пользователь мог вводить числа и видеть результаты вычислений.
entry = tk.StringVar()
entry.set('') ## Установка начального значения поля ввода в пустую строку
entry1 = tk.Entry(root, textvar=entry, font='lucida 30 bold', bd=5, insertwidth=4, bg='powder blue', justify='right') ## Создание поля ввода
entry1.pack(fill=tk.X, ipadx=8, pady=10, padx=10) ## Размещение поля ввода
Добавьте кнопки
Далее, добавьте кнопки на калькулятор для цифр, арифметических операций и функции очистки.
button_frame = tk.Frame(root) ## Создайте рамку для кнопок
button_frame.pack() ## Добавьте рамку в окно tkinter
## Список текстов для кнопок
button_list = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'.', '0', '=', '+',
'00', '000', 'C'
]
## Создание и размещение кнопок
i = 0
for btn_text in button_list:
button = tk.Button(button_frame, text=btn_text, font='lucida 20 bold', bg='skyblue', padx=15, width=5)
button.grid(row=int(i/4), column=i%4, padx=3, pady=3)
i += 1
button.bind('<Button-1>', calculate) ## Связывание функции 'calculate' с кнопкой
Запустите проект
Наконец, давайте запустим цикл событий tkinter, чтобы запустить калькулятор.
root.mainloop()
Переключитесь на рабочий стол и запустите проект.
python labex_calculator.py

Резюме
Поздравляем! Теперь вы создали базовый графический интерфейсный калькулятор с использованием Python и библиотеки tkinter. Вы можете запустить свой калькулятор, выполнив скрипт labex_calculator.py. В этом проекте мы рассмотрели создание окна tkinter, добавление функции вычислений, создание поля ввода для калькулятора, добавление кнопок для выполнения арифметических операций и запуск калькулятора.



