Создание настольных Python приложений с графическим интерфейсом пользователя
Тимур Машнин
Python является наиболее популярным языком программирования, используемым для объектно-ориентированного программирования. И конечно, Python – это интерактивный язык программирования, который предоставляет широкий спектр возможностей для создания GUI (Graphical User Interface) и разработки настольных приложений. В этой книге вы познакомитесь с различными фреймворками Python для создания настольных приложений с графическим интерфейсом пользователя, такими как PyQt, PySide, Tkinter, Kivy, WxPython и Dear PyGUI.
Тимур Машнин
Создание настольных Python приложений с графическим интерфейсом пользователя
Исходный код
Исходный код к примерам можно скачать по адресу https://github.com/novts/python-gui.
Введение
Де факто Python является наиболее популярным объектно-ориентированным языком программирования, который используется для веб-разработки и анализа больших данных.
И конечно, Python – это интерактивный язык программирования, который предоставляет широкий спектр возможностей для создания графического интерфейса пользователя.
PyQt – это библиотека графического фреймворка Qt для языка программирования Python.
А Qt кью-ти – это кроссплатформенный инструментарий для разработки программного обеспечения на языке программирования C++, такого как графические интерфейсы, работа с сетью, базами данных и XML.
PyQt работает на всех платформах, поддерживаемых Qt – Linux и другие UNIX-подобные ОС, Mac OS и Windows.
И существуют 2 версии: PyQt5, поддерживающий Qt 5, и PyQt4, поддерживающий Qt 4.
PyQt практически полностью реализует возможности Qt, включая набор виджетов графического интерфейса, доступ к базам данных с помощью SQL, парсер XML и так далее.
PyQt также включает в себя Qt Designer— дизайнер графического интерфейса пользователя с генерацией Python кода из файлов, созданных в Qt Designer.
PySide – это также библиотека графического фреймворка Qt для языка программирования Python.
Основное отличие PySide от PyQt – это лицензии под которыми распространяются эти две обёртки Qt.
PyQt5 распространяется под GPL и коммерческой лицензией.
А PySide2 распространяется как Qt под GPL, LGPL и коммерческой лицензией.
То есть если вы пишите открытое ПО – можно использовать как PyQt5, так и PySide2.
Но если вы пишите закрытое/коммерческое ПО – бесплатно можно использовать только PySide2, а для использования PyQt5 потребуется покупать коммерческую лицензию.
Tkinter – это самая популярная библиотека для создания графического интерфейса пользователя или настольных приложений.
Tkinter – это комбинация стандартного графического интерфейса пользователя Tk и Python.
А Tk – это кроссплатформенная библиотека графического интерфейса с открытым исходным кодом.
Tkinter входит в стандартную библиотеку Python.
И Tkinter – это свободное программное обеспечение, распространяемое под Python-лицензией.
TKinter поставляется с хорошей документацией, что является основным ее достоинством.
И получить ответы на свои вопросы здесь легко, так как у Tkinter тысячи пользователей, потому что эта библиотека используется в течение очень долгого времени.
Kivy – это бесплатная среда Python с открытым исходным кодом для разработки кросс-платформенных приложений с поддержкой мультитач с пользовательским интерфейсом.
Kivy создана поверх OpenGL и для создания пользовательских интерфейсов дает возможность один раз написать код и запустить его на разных платформах Windows, MacOSX, Linux, Android, iOS и Raspberry.
WxPython – это обёртка библиотеки кроссплатформенного графического интерфейса пользователя wxWidgets, написанной на языке программирования C++.
Это еще одна из альтернатив Tkinter, которая поставляется вместе с Python.
И WxPython реализована в виде модуля расширения Python.
Dear
PyGUI – это простая и легкая библиотека графического интерфейса пользователя, так как она полностью связана с языком программирования Python.
Dear PyGui предоставляет оболочку библиотеки С++ Dear ImGui, которая имитирует традиционный графический интерфейс.
Это кроссплатформенная среда приложений с графическим интерфейсом пользователя, которая отображает естественный графический интерфейс платформы.
Здесь мы перечислили наиболее широко используемые и лучшие доступные фреймворки графического пользовательского интерфейса Python.
И вы можете выбрать наиболее подходящую вам среду для разработки графического интерфейса Python.
Далее мы более подробно разберем каждую библиотеку.
Библиотека PyQt
PyQt – это библиотека, которая позволяет использовать библиотеку графического интерфейса Qt в Python.
Сама библиотека Qt написана на C ++.
Самая последняя версия библиотеки – это PyQt5, и она поддерживает последнюю версию Qt5.
Для работы с библиотекой PyQt5, установим питон 3.6.
Для разработки приложений питон с графическим интерфейсом пользователя мы будем пользоваться средой разработки
PyCharm
.
Создадим питон проект. При этом будет автоматически создана виртуальная среда.
Виртуальная среда – это просто локальный каталог, содержащий библиотеки для конкретного проекта.