Сегодня вы узнаете, как создавать программы с графическим интерфейсом пользователя с использованием набора инструментов Python Tkinter.
Графический интерфейс пользователя, также известный как GUI, является одной из лучших функций в программировании, которая делает программу визуально более привлекательной, чем обычные текстовые программы, покрытые черным или любым другим статическим цветом. GUI делает взаимодействие с пользователем намного проще и последовательнее.
Программирование на Python с графическим интерфейсом
Чтобы создать программу с графическим интерфейсом пользователя на Python, вам понадобится набор инструментов с графическим интерфейсом. Один из широко используемых наборов инструментов, доступных в Python, — это Tkinter. Это один из самых стабильных и популярных инструментов графического интерфейса, который используют разработчики Python.
Установить модуль Tkinter
Модуль Tkinter по умолчанию доступен в операционной системе Windows. Однако, если вы используете любую другую операционную систему, вам нужно будет загрузить модуль отдельно.
Как в Python писать программы с интерфейсом?
Для ОС Windows
https://www.python.org/downloads/
Для ОС Linux
sudo apt-get install python-tk (для Python 2.x)
sudo apt-get install python3-tk (для Python 3.x)
Вы можете создавать элементы графического интерфейса, создавая экземпляры объектов из классов, предопределенных в модуле Tkinter, включенном в Tkinter Toolkit.
Некоторые из элементов графического интерфейса в модуле Tkinter перечислены ниже.
Фрейм: он содержит другие элементы графического интерфейса, такие как метка, кнопка, текстовое поле и т. Д.
Ярлык: отображает неотредактируемый текст или значки на макете экрана.
Кнопка: выполняет действие, когда пользователь активирует ее или нажимает с помощью мыши.
Ввод текста: принимает одну строку текста и отображает ее.
Текстовое поле: этот элемент графического интерфейса принимает несколько строк текста и отображает его.
Кнопка «Проверить»: позволяет пользователю выбрать или отменить выбор параметра.
Селективная кнопка: эта кнопка позволяет пользователю выбрать один вариант из нескольких перечисленных.
Программы с графическим интерфейсом пользователя традиционно управляются событиями. Управляемый событиями означает, что кнопки, значки или любой другой графический объект на экране реагирует на действия независимо от порядка, в котором они происходят. Они реагируют на действия, выполняемые пользователем, а не на логический поток, как мы видели раньше в текстовом программировании.
Пример программирования графического интерфейса пользователя Python
from Tkinter import *
root.title(«My First GUI»)
Первая строка программного кода импортирует модуль Tkinter из библиотеки Python в имя текущей программы.
Второй оператор используется для создания экземпляра объекта класса Tkinter Tk и назначается пользовательской переменной root.
Изучение TKinter за 8 минут / Разработка GUI программы на Python
Третий оператор использует метод title (), который описывает заголовок, отображаемый в строке заголовка окна. Он принимает строковый аргумент.
Третий оператор использует метод geometry (), который используется для установки размеров окна. Он принимает строку (а не целые числа) в качестве аргументов,
представляющих ширину и высоту окна, разделенных символом «x».
Следующий оператор, наконец, запускает приложение окна графического интерфейса пользователя и ждет, пока пользователь введет команду.
Примечание. У вас может быть только одно корневое окно в программе Tkinter. Если вы попытаетесь создать несколько окон в одной программе, программа выйдет из строя.
Фрейм Python Tkinter
Фрейм — это виджет или базовый виджет, который используется для размещения в другом виджете, таком как метки, текстовые поля и другие. Это важный первый шаг, поскольку без разработки фреймов ничего сделать нельзя. В основном он содержит другие виджеты.
app = Frame (корень)
Здесь мы передали root конструктору Frame. В результате новый фрейм помещается внутри корневого окна.
grid () есть у всех виджетов. Он связан с менеджером компоновки, который позволяет размещать виджеты во фрейме.
Метка Python Tkinter
Элементы графического интерфейса называются виджетами. Ярлык — один из самых простых виджетов. Он состоит из неотредактируемого текста или значков (или того и другого). Часто используется для обозначения других виджетов. Ярлыки не интерактивны.
Вы не создадите никакой команды, щелкнув ярлык. Но метки важны для именования других виджетов, чтобы конечный пользователь не запутался.
from Tkinter import *
root.title(«My First GUI»)
label1 = Label(frame1, text = «Here is a label!»)
Источник: dzen.ru
Разработка графического интерфейса с помощью Tkinter в Python
Существует множество пакетов для создания графических интерфейсов пользователя в Python, но есть только один такой пакет, который считается стандартом де-факто и распространяется со всеми установками Python по умолчанию. Этот пакет называется Tkinter, это привязка Python к Tk – кроссплатформенному набору графических интерфейсов с открытым исходным кодом.
Создание первого окна
Как упоминалось ранее, Tkinter доступен со стандартными установками Python, поэтому независимо от вашей операционной системы создание вашего первого окна должно быть очень быстрым. Все, что вам нужно, это 3 строки кода:
import tkinter root = tkinter.Tk() root.mainloop()

После импорта пакета tkinter в строке 1, в строке 3 мы создаем виджет главного (корневого) окна приложения. Чтобы программа работала должным образом, в нашем интерфейсе должен быть только один виджет корневого окна, и, поскольку все остальные виджеты будут ниже в иерархии, чем корневые, он должен быть создан перед любыми другими виджетами.
В строке 5 мы инициализируем главный цикл корня. Благодаря этой строке окно остается в цикле, который ожидает событий (например, взаимодействия с пользователем) и соответствующим образом обновляет интерфейс. Цикл заканчивается, когда пользователь закрывает окно или вызывается метод quit().
Добавление простых виджетов в корневое окно
В следующем примере мы изучим общую двухэтапную систему создания виджетов, которая может быть применена ко всем виджетам, кроме окон. Первым шагом является создание экземпляра определенного класса виджета.
На втором этапе мы должны использовать один из доступных методов для размещения нового виджета внутри другого уже существующего виджета (родительского). Самый простой виджет, который вы можете поместить в свой интерфейс Tkinter, – это метка, которая просто отображает некоторый текст. В следующем примере создается простой виджет метки:
import tkinter root = tkinter.Tk() simple_label = tkinter.Label(root, text=»Easy, right?») simple_label.pack() root.mainloop()

Руководство по PyQt5
В этом руководстве по PyQt5 будет показано, как использовать Python 3 и Qt для создания графического интерфейса пользователя в Windows, Mac или Linux. Мы даже расскажем, как самостоятельно написать установщик.
Что такое PyQt5?
PyQt — это библиотека, которая позволяет использовать фреймворк Qt GUI (GUI — это графический интерфейс пользователя) в Python. Сам Qt, как известно, написан на C++. Используя его в Python, вы можете создавать приложения намного быстрее, не жертвуя при этом значительной частью производительности C++.
PyQt5 это самая последняя, пятая версия Qt. Еще можно найти в интернете случайное упоминание PyQt4, но эта версия устарела и больше не поддерживается.
Новый интересный конкурент PyQt — это Qt for Python. Она обладает практически идентичным API, но в отличие от PyQt имеет лицензию LGPL и, следовательно, может использоваться бесплатно даже в коммерческих проектах. Она поддерживается компанией Qt, а значит, скорее всего, за ней будущее. Здесь мы используем PyQt, потому что она более зрелая. Но, так как их интерфейсы очень похожи, вы всегда можете перейти на Qt for Python позднее.
Установка PyQt
Лучший способ управлять зависимостями в Python — через виртуальную среду. Виртуальная среда — это просто локальный каталог, содержащий библиотеки для данного конкретного проекта. В отличии от общесистемной установки библиотек, это не не повлияет на другие ваши проекты.
Для создания виртуальной среды в текущем каталоге выполните следующую команду:
python3 -m venv venv
Эта команда создаст директорию venv/ . Чтобы активировать виртуальную среду в Windows, выполните следующую команду:
call venv/scripts/activate.bat
А для Mac и Linux вот эту:
source venv/bin/activate
То, что виртуальная среда активирована, вы можете увидеть по префиксу (venv) в командной строке:

Теперь, чтобы установить PyQt, выполните следующую команду:
pip install PyQt5==5.9.2