В данном занятии мы будем изучать возможно создания графического интерфейса с использованием библиотеки tkinter. Для сегодняшней лекции используем специальную онлайн среду подготовленную для создания пользовательский интерфейсов:
https://repl.it/languages/tkinter
На локальном компьютере (в базовой версии Питона или анаконде) достаточно будет установить библиотеку tkinter.
Стоит заметить, что tkinter хоть и является одним из самый известный и распространенных методов создания GUI в Питон, не является единственным. Достаточно часто используют связку Python + Qt при помощи библиотеки PyQt. Кроме того, существует и вторая по популярности библиотека wxPython. Она не менее мощная по своему функционалу чем tkinter, но требует большего времени на изучение. Попробуем создать интерфейс с использованием библиотеки tkinter.
Подключим библиотеку:
Создадим главное окно, в котором у нас будут храниться основные элементы управления:
Существуют различные элементы управления в графическом интерфейсе: кнопка (button), радиокнопка (radio button), флаговая кнопка (check box), метка (label), ползунок (slider), поле редактирования (textbox, edit field) и д.р.
Создадим объект «кнопка»:
Поместим этот объект на главное окно:
Добавим команду для отображения наших элементом и работы графического интерфейса:
После запуска команды мы увидим, что у нас появилась кнопка при нажатии на которую ничего не происходит.
Добавим 2 поля редактирования в наш интерфейс:
Добавим метку:
Создадим простейший калькулятор, который будет складывать 2 числа задаваемые в 2 полях редактирования (e1 и е2) и отображающее результат в метке (l). Для этого нам необходимо будет создать функцию, которая при нажатии на кнопку будет брать значения, выполнять необходимую операцию и отображать результат в метке:
Данная функция реагирует на события и нам нужно указать на какое событие будет вызываться эта функция. Укажем, что функция будет выполняться по левому щелчку.
Теперь получившийся графический интерфейс способен выполнять простейшую функцию сложения калькулятора. Большее количество элементов управления:
https://docs.python.org/2/library/tkinter.html#
https://effbot.org/tkinterbook/tkinter-index.htm
Самостоятельное задание:
- Дополнить калькулятор функциям вычитания, умножения, деления, сброса результата, проверки на корректность ввода числа, замоминания числа
- Создать приложение которое по нажатию кнопки загружает данные с https://tradingeconomics.com/japan/indicators и отображает последнее значение по уровню инфляции.
- Добавить в это приложение возможность выбрать страну
- Добавить в это приложение возможность выбора показателя