3 библиотеки для создания графического интерфейса пользователя (GUI)

У большинства программистов наступает момент, когда они готовы отступить от базовых примеров и начать строить графический интерфейс для своей программы.

В Python начать GUI программирование просто, но первый шаг – это выбор пакета для создания GUI. К счастью, у программистов, которые хотят создать простой способ взаимодействия пользователей с их программами, есть много вариантов.

Но прежде всего задумайтесь: действительно ли нужно, чтобы ваше приложение имело традиционный графический интерфейс пользователя вообще? Для некоторых программ ответ очевиден. Если ваше приложение по своей природе графическое или будет запускаться локально на одной машине, то да, вам, вероятно, следует создать десктопный интерфейс. Часто это становится очевидным исходя из того, что вы проектируете.

Но для более общих программ, не сбрасывайте со счетов командную строку или веб-интерфейс.
Командная строка обладает многими преимуществами: скоростью, удаленным доступом, возможностью повторного использования, возможностью записи сценариев и контролем, что может быть более важным для пользователей вашего приложения, чем графический интерфейс, и существует множество библиотек, таких как, например, Click, Cement и Cliff, которые помогают создать великолепные программы командной строки.

То же самое с веб-интерфейсом. Даже для программы, предназначенной для локального запуска, это может быть решением – особенно, если есть вероятность, что пользователи могут разместить ваше приложение удаленно, а такие проекты, как Django, Flask или Pyramid, делают это просто.
Можно даже использовать библиотеку наподобие pywebview, чтобы обернуть веб-приложение в более естественное окно GUI.

Или еще можно использовать фреймворк Pyforms для создания единообразного представления в Интернете, командной строке и на рабочем столе, и это все на базе одного кода.

Все еще уверены, что хотите построить графический интерфейс? Отлично, вот три фантастических библиотеки с открытым исходным кодом.

PyQt

PyQt реализует популярную библиотеку Qt. Вы, возможно, уже знакомы с Qt – вы могли работать с Qt на другом языке. PyQt позволяет разрабатывать приложения на Python, и в то же время пользоваться инструментами и знаниями большого сообщества Qt.

PyQt имеет два вида лицензии – коммерческую и лицензию GPL, в отличие от самого проекта Qt.

Tkinter

Если бы был один пакет, который можно было бы назвать «стандартным» инструментарием GUI для Python, это был бы Tkinter. Tkinter – это оболочка вокруг Tcl / Tk, впервые появившегося в начале 90-х годов. Преимущество Tkinter – огромное количество ресурсов, включая книги и примеры кода, а также большое сообщество пользователей, которые могут помочь, если у вас есть вопросы. Примеры просты и понятны для новичка.

Tkinter доступен под лицензией Python, поверх лицензии BSD Tcl / Tk.

WxPython

WxPython переносит кросс-платформенную графическую библиотеку wxWidgets с родного языка C ++ на Python. WxPython – это немного более современный подход, который выглядит более натуральным, в разных операционных системах, чем, например, Tkinter, потому что он не пытается создать свой собственный набор виджетов (хотя они могут быть тематически похожими на его исходные компоненты). Он тоже прост в освоении, и сообщество разработчиков на WxPython посоянно растет.

WxPython использует wxWindows Library License своего родительского проекта, который одобрен OSI.

Это, конечно, не все доступные варианты. Десятки других опций есть на странице «Программирование GUI на Python» на официальной вики-странице Python Software Foundation.

А если захочется что-нибудь сделать что-нибудь не похожее на традиционное рабочее окно – например видео игру, то для этого в Python тоже есть хорошие библиотеки – например, pygame и pyglet.

Поделитесь с друзьями:

Оставьте комментарий