калькулятор на питоне с интерфейсом код
Python | Простой графический калькулятор с использованием Tkinter
Python предлагает несколько вариантов разработки графического интерфейса пользователя. Из всех методов GUI tkinter является наиболее часто используемым методом. Это стандартный интерфейс Python для инструментария Tk GUI, поставляемый с Python. Python с tkinter выводит самый быстрый и простой способ создания приложений с графическим интерфейсом. Создание графического интерфейса с помощью tkinter — простая задача.
Чтобы создать ткинтер:
Давайте создадим простой калькулятор на основе графического интерфейса, используя модуль Python Tkinter, который может выполнять основные арифметические операции сложения, вычитания, умножения и деления.
Ниже приведена реализация:
# Python программа для создания простого графического интерфейса
# калькулятор с использованием Tkinter
# импортировать все из модуля tkinter
from tkinter import *
# глобально объявить переменную выражения
# Функция для обновления выражения
# в поле ввода текста
# указать глобальную переменную выражения
expression = expression + str (num)
# обновить выражение с помощью метода set
equation. set (expression)
# Функция для оценки финального выражения
# Попробуйте использовать оператор кроме
# для обработки ошибок как ноль
# ошибка деления и т. д.
# Поместите этот код в блок try
# которое может вызвать ошибку
# eval функция оценивает выражение
# и функция str конвертируют результат
total = str ( eval (expression))
equation. set (total)
# инициализировать переменную выражения
# если ошибка сгенерирована то обработай
equation. set ( » error » )
# Функция очистки содержимого
Количество текстового поля ввода
if __name__ = = «__main__» :
# создать окно с графическим интерфейсом
# установить цвет фона окна GUI
gui.configure(background = «light green» )
# установить заголовок окна GUI
gui.title( «Simple Calculator» )
# установить конфигурацию окна графического интерфейса
# StringVar () является классом переменной
# мы создаем экземпляр этого класса
# создать текстовое поле для ввода
expression_field = Entry(gui, textvariable = equation)
# метод сетки используется для размещения
# виджеты на соответствующих позициях
# в таблице как структура.
equation. set ( ‘enter your expression’ )
# создать кнопки и поместить в определенный
# расположение внутри корневого окна.
# когда пользователь нажимает кнопку, команда или
# Функция, связанная с этой кнопкой, выполняется.
# запустить графический интерфейс
Выход :
Как построить калькулятор GUI, используя Tkinter в Python?
В этой статье сегодня мы узнаем, как создать простой калькулятор GUI, используя TKinter. Мы поймем весь код шаг за шагом.
В этой статье сегодня мы узнаем, как создать простой калькулятор GUI, используя TKinter. Мы поймем весь код шаг за шагом.
Начало работы с нашим калькулятором GUI, используя Tkinter
Прежде чем мы начнем, убедитесь, что у вас есть библиотека TKinter, установленная для Python. Tkinter – это стандартная библиотека GUI для языка программирования Python. Когда Python объединяется с TKinter, он обеспечивает быстрый и простой способ создания приложений графического пользовательского интерфейса.
TKINTER предоставляет мощный объектно-ориентированный интерфейс для TK GUI Toolkit. Если TKINTER не установлен в вашем Python, откройте Windows CMD и введите следующую команду.
Tkinter Modelbox.
MessageBox – виджет в библиотеке Tkinter Python. Он используется для отображения ящиков сообщений в приложениях Python. Этот модуль используется для отображения сообщения с использованием определенного количества функций.
Параметры :
Варианты: Есть два варианта, которые можно использовать:
Структура калькулятора GUI с использованием Tkinter
Python Tkinter Label: Этикетка используется для указания коробки контейнера, где мы можем разместить текст или изображения. Этот виджет используется для предоставления сообщения пользователям о других виджетах, используемых в приложении Python.
Падры Python: Рамка – это только виджет. Рамы в Python – это не что иное, как простые контейнеры для его дочерних элементов. Используя их, мы можем дать дочерним контейнерам Mainframes, и мы можем разделить всю рамку макета по кадрам.
Предположим, мы запустим программу, у нас есть метка в начале, а затем несколько кнопок в корневом окне. Мы можем разделить эту часть корневой окна с помощью детали E.g этикетка как одна часть, а затем кнопки в разную часть. Если мы поместим эти части в один кадр, то этот кадр станет родительским элементом. Это поможет нам упростить сложный дизайн.
После добавления кадров структура калькулятора будет похожа:
Кнопки Python: Виджет кнопки используется для добавления кнопок в приложении Python. Эти кнопки могут отображать текст или изображения, которые передают цели кнопок. Вы можете прикрепить функцию или метод к кнопке, которая называется автоматически при нажатии кнопки.
1. Определение функций
Здесь мы начнем с кодировки для кнопок.
Мы определим первую функцию имени btn_1_isclicked () Отказ Мы даем это ущербное имя, так что нам становится легче понять, что функция на самом деле делает только что посмотрела на нее.
Здесь мы хотим, когда мы нажимаем на любую кнопку номера, мы хотим, чтобы это число было отображаться на нашей этикетке и хранить его в другой переменной, чтобы она была легко рассчитана.
Мы принимаем переменную глобально, чтобы избежать проблемы с именем переменной. В Python переменная, объявленная вне функции или в глобальном объеме, известна как глобальная переменная.
Это означает, что Глобальная переменная Доступ к доступу внутри или снаружи функции. Валь вот глобальная переменная. В приведенном выше коде мы создали Val в качестве глобальной переменной и определенной btn_1_isclicked () Чтобы распечатать глобальную валюту VAL и хранить его значение.
Выполните те же шаги для всех кнопок TKINTER.
2. Создание окна для нашего калькулятора GUI с помощью TKinter
Чтобы инициализировать TKinter, мы должны создать виджет TK CORT, который является окном с строкой заголовка и другие украшения, предоставляемые оконным менеджером.
Корневое окно – это главное окно приложения в наших программах. У него есть заголовка и границы.
Они предоставляются оконным менеджером. Он должен быть создан перед любыми другими виджетами.
Геометрия Метод устанавливает размер для окна и позиционирует его на экране. Первые два параметра являются ширина и высота окна. Последние два параметра являются координатами экрана x и y.
По установке root.Resizable до (0,0) программатор не сможет изменить размер окна. Лучше использовать root.resizable (0,0), потому что он сделает калькулятор на месте.
3. Настройка форматирования метки
Метка – это окно дисплея, где вы можете разместить текст или изображения. Текст, отображаемый этим виджетом, может быть обновлен в любое время. Также можно подчеркнуть часть текста (например, для идентификации сочетания клавиш) и охватить текст по нескольким строкам.
Родитель ярлыка является корнем. Это означает, что он не будет ограничен на один кадр, но целое root Window. Затем мы поставим простой текст, который мы будем динамически изменяться по всему коду до цифровых кнопок, которые мы нажимаем, отображается на метке.
Tkinter Stringvar Помогите вам управлять значением виджета, такого как метку или запись более эффективно. Контейнер – это виджет, который Stringvar объект, связанный с. Если вы пропустите контейнер, он по умолчанию для корневого окна значение – это начальное значение, которое по умолчанию по умолчанию для пустой строки.
Якорь : Он контролирует, где текст расположен, если виджет имеет больше места, чем потребности в тексте. По умолчанию (виджет будет размещен в правом нижнем углу рамки).
TextVariable: Чтобы иметь возможность извлечь текущий текст из вашего въезда в виджете, вы должны установить эту опцию в экземпляр данных stringvar класса I.e
4. Упаковка кнопок на окне
Рамка – виджет в Python. Это очень важно для процесса группировки и организации других виджетов как-то дружелюбным способом. Он работает как контейнер, который отвечает за организацию положения других виджетов.
Он использует прямоугольные зоны на экране для организации макета и обеспечить прокладку этих виджетов.
Рамка также может использоваться в качестве класса фундамента для реализации сложных виджетов.
Мы даем имя переменной к славе как BTNROW1 Отказ Синтаксис для кадра:
Затем мы упаковываем кадр. Повторите одни и те же шаги для трех трех кадров, вызывая корневое окно.
5. Добавление кнопок в наш калькулятор GUI с помощью TKinter
Виджет кнопки используется для добавления кнопок в нашем калькуляторе GUI, используя библиотеку Tkinter в Python. Эти кнопки могут отображать текст или изображения, которые передают цели кнопок. Вы можете прикрепить функцию или метод к кнопке, которая называется автоматически при нажатии кнопки.
Рельеф: С значением по умолчанию. Вы можете установить эту опцию для любого из других стилей, таких как: затонувший, жесткий, поднятый, плоский.
команда Является ли функция или метод, который будет называться, когда кнопка нажала. Здесь мы называем Команда, Функция, которую мы создали ранее, чтобы выполнить задачу.
Мы следуем тому же методу для других кнопок тоже.
Наконец, мы входим в MainLoop. Обработка событий начинается с этого момента. MainLoop получает события из оконной системы и отправляет их в виджеты приложений. Он прекращается, когда мы нажимаем на кнопку закрытия заголовка или вызовите Quit () метод.
Заключение
В этой статье мы покрыли кнопки TKINT, кадры, этикетки и его функциональные возможности, окна TKinter, входные коробки и то, как все эти все могут быть собраны для создания приложений GUI. Понимая код, мы добились успеха в создании рабочего калькулятора GUI с использованием библиотеки TKinter и его виджетов. Надеюсь, эта статья поможет.
Оконный калькулятор на Python с Tkinter
В этой статье мы разберём как сделать калькулятор на Python с использованием библиотеки Tkinter, для создания графического интерфейса или оконного приложения.
Также можете посмотреть прошлую часть где мы познакомились с этой библиотекой, статья называется «Создание графического интерфейса в Python», думаю будет интересно.
Калькулятор на на Python с Tkinter:
Перед тем как начать работать, нужно установить все нужные компоненты, но нам нужно скачать только Tkinter, для этого как всегда для Python прописываем команду PIP.
После того как скачали можете приступать к работе, для этого переходим в ваш файл, где вы будите хранить весь код.
Первым делом нужно импортировать нужные компоненты и создать переменные которые нам пригодятся:
Первым делом мы тут как всегда всё импортируем, потом создаём приложение и задаём ему заголовок, потом создаём кортеж кнопок, где каждый картеж, это отдельная строчка кнопок в приложение.
последние мы создаём переменную activeStr, которая отвечает за наспанные числа в строчки ввода, и вторая переменная это список, чисел и команда которые нужно будет выполнить.
Дальше создадим функцию которая будет считать получившийся результат, вот как она будет выглядеть:
Как видите в начале функции мы всё раскладываем на числа которые мы получаем и знаки на которые мы нажали, потом всё зависимо от от знака мы считаем вмести эти два числа и в вставляем это в нашу строку ввода.
Теперь перейдём к функции которая будет обрабатывать клик на кнопки там всё гораздо интереснее на мой взгляд.
В начале мы тут проверяем, а нажата ли кнопка CE, если да, то тогда всё удаляем и выводим ноль, иначе если были нажаты цифры, то добавляет это всё в поле ввода, если точка нажата, то тоже добавляем в поле.
Иначе проверяем если у нас stack больше или равен двум, то считаем что у нас получилось и выводим число в поле, которое получилось и если не было нажата равно, то вставляем это число в stack.
Иначе опять проверяем не было ли нажата равно, если нет, то всё так же добавляем значения в список stack.
Последние что нам осталось, так это отрендарить всё приложение, это будет не очень cложно.
По сути мы тут будем создавать таблицу но вначале делаем поле, и потом уже саму таблицу, после того как мы это сделали, первое создаём кнопку «CE», дальше рендрим остальные кнопки, по четыре столбца, это важно, и последние задаём конфигурации для строчки и столбцов, видь как вы поняли по сути мы работаем с таблицей.
Последние запускаем событие цикл который будет отслеживать события нажатия на кнопки, или если по простому то рендерим приложение.
Вывод:
В этой не большой статье вы прочитали как сделать калькулятор на Python с использованием библиотеки Tkinter, думаю вам было интересно, но рекомендую вам самим написать этот код, и поэкспериментировать над ним, чтобы всё ещё лучше понять, как он работает.
# Визуализация калькулятора
Можно задать размер и запретить изменение размера окна, добавив соответствующие строки:
Создадим в окне визуальный элемент однострочное текстовое поле:
Теперь создадим кнопку добавив следующий код:
Добавим другие необходимые кнопки и получим следующий вид нашего калькулятора:
Код может выглядеть так:
Пример кода может быть таким:
Если смещение задать по 50 пикселей, то созданное окно может иметь вид:
Пример кода с необходимыми атрибутами для решения задачи:
При правильной полной реализации написания интерфейса результат может быть:
# Современная визуализация
Добавьте данные строки во все решения ваших калькуляторов и обратите внимания как измениться их внешний вид.
Вид калькулятора с методом pack() и виджетами ttk :
Вид калькулятора с методом place() и виджетами ttk :
Как мы видим после применения метода абсолютного позиционирования, проявляется основной недостаток: проблема масштабирования.
Вид калькулятора с методом grid() и виджетами ttk :
# Упражнения
Символы «плюс минус» и «корня» можно получить, воспользовавшись функцией print() :
Добавьте функцию для цифровых кнопок: при нажатии на кнопку в текстовом поле допечатывается соответствующая цифра.
Реализовать вывод примеров на дисплее: 23+5 и т.п.
Создаем продвинутый калькулятор на Python с Tkinter
Здравствуйте! В этой публикации я хочу рассказать Вам, как сделать продвинутый калькулятор на Python 3 с Tkinter.
Итак, импортируем модули, которые нам понадобятся для нашей программы.
Библиотека tkinter нам необходима для создания окна, грубо говоря.
Модуль math нам нужен для математических операций.
Следующими двумя строками мы создаем окно и даем ему имя.
Создаем список с именами будущих кнопок калькулятора. Я выбрал все самые интересные функции, чтобы продемонстрировать, как их реализовать.
Следующим отрезком кода мы создаем кнопки для нашего калькулятора.
В каждом калькуляторе есть, так называемое поле ввода, в которое пользователь вводит нужные данные для программы. Это могут быть цифры, функции и математические операции. Их можно вводить, как с клавиатуры, так и при нажатии на кнопку в калькуляторе.
Пример 1. Я нажимаю на кнопку «2» в калькуляторе и в этом поле ввода, отображается цифра 2.
В Python Tkinter поле ввода называется Entry, а, например, в Java Script — input.
Мы подошли к основной задаче калькулятора — его функциям и логике.
До этого момента нами было создан внешний вид программы. Если бы Вы попробовали запустить ее и нажать на кнопку, Вам бы выскочила ошибка, ведь у нас вовсе нет функций калькулятора.
Приступим, пропишем нашему калькулятору логику и способность считать.
В этом блоке кода мы используем функцию eval — это, если можно так сказать, компилятор внутри компилятора. Она будет считать в нашей программе.
По сути, мы обрабатываем функцию, что сработает при нажатии на кнопку «=».
Создаем функцию очищения поля ввода. Она будет срабатывать при нажатии на кнопку «C».
Следующая функция — число pi. При нажатии на кнопку «П» программа выведет нам 3.14159265359, то есть число Pi. Вот тут нам и пригодилась библиотека math.
Функция выхода из программы. При нажатии на кнопку «Exit» окно Tkinter будет уничтожено и процесс остановлен. В этой функции нам нужна была библиотека sys.
Функция возведения в степень. Нужно ввести число, которое нужно возвести в степень. Далее программа выводит **. В Python этот символ означает возведение в степень 2**6 (возведение 2 в степень 6). Мы используем для счета в программе eval, а значит можно выполнить это так же, как и в Питоне. Ну и в конце мы вводим необходимую степень.
Пример 3. Нам нужно 3 возвести в 5 степень. Вводим число 3, нажимаем на кнопку «xⁿ» (3**. ) и вводим необходимую степень, — 5 (3**5). Нажимаем на кнопку «=» и получаем ответ 243.
Опишу сразу две функции, так, как они идентичны.
Функция sin x и cos x.
Все просто, при нажатии на клавишу sin или же cos мы получаем синус или косинус по данному числу.
Следующие две функции — скобки ) и (.
При нажатии на кнопку «)» мы получаем ), аналогично поступаем со второй функцией.
Функция получения факториала из данного числа.
Функция извлечения корня квадратного их данного числа.
Функция, которая отвечает за очищение поля ввода при нажатии на кнопку «=».
И последняя строка нашего кода — это «закрытие» окна tkinter.
Большое спасибо за прочтение данной публикации. Надеюсь она Вам была полезна.