Создать графический интерфейсный калькулятор с использованием Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте мы проведем вас по созданию простого графического интерфейса калькулятора с использованием 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
Calculator application interface
✨ Проверить решение и практиковаться

Резюме

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