Тимур Машнин - Создание настольных Python приложений с графическим интерфейсом пользователя

Создание настольных Python приложений с графическим интерфейсом пользователя
Название: Создание настольных Python приложений с графическим интерфейсом пользователя
Автор:
Жанры: Интернет | Программирование | Книги о компьютерах
Серии: Нет данных
ISBN: Нет данных
Год: 2021
О чем книга "Создание настольных 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

.



Создадим питон проект. При этом будет автоматически создана виртуальная среда.

Виртуальная среда – это просто локальный каталог, содержащий библиотеки для конкретного проекта.



И для установки библиотеки PyQt просто наберите в окне терминала, в командной строке pip install PyQt5.



Далее в проекте создадим питон файл и наберем в нем код.



Сначала мы загружаем PyQt с помощью оператора импорта.

И из PyQt5 виджетов импортируем QApplication, QLabel.

Класс QApplication управляет потоком управления и основными настройками приложения с графическим интерфейсом.

Виджет QLabel обеспечивает отображение текста или изображения.

Затем мы создаем QApplication с помощью команды:

app = QApplication

Это требование Qt – каждое приложение с графическим интерфейсом должно иметь ровно один экземпляр QApplication.

Здесь квадратные скобки представляют аргументы командной строки, переданные приложению.

Так как наше приложение не использует никаких параметров, мы оставляем скобки пустыми.

Далее мы создаем простую метку 'Привет, мир!'.

И затем мы говорим Qt показать метку на экране с помощью команды show.

И последний шаг – это передать управление среде Qt и попросить ее «запустить приложение, пока пользователь не закроет его».

Это делается с помощью команды exec.



Далее нажмем правой кнопкой мыши на созданном питон файле и выберем команду

run

.

В результате будет запущено приложение и откроется окно с меткой.



Теперь у нас есть приложение с графическим интерфейсом пользователя.

И оно работает на вашем компьютере.

Вопрос – как его передать другим людям, чтобы они тоже могли его запустить?

Вы можете попросить пользователей вашего приложения установить Python и PyQt, а затем предоставить им свой исходный код.

Но это очень неудобно.

Вместо этого нам нужен исполняемый файл, который другие люди могут запускать в своих системах, ничего не устанавливая.

В Python процесс превращения исходного кода в автономный исполняемый файл называется замораживанием.

Хотя существует множество библиотек, которые решают эту проблему, например PyInstaller, py2exe и так далее, здесь мы будем использовать библиотеку под названием fbs, которая позволяет создавать автономные исполняемые файлы для приложений PyQt.

Поэтому для начала установим библиотеку fbs.



Далее мы в терминале запускаем команду fbs startproject.

В результате выполнения которой будет создана папка src/main/python/с файлом main.py.

Команда startproject создает необходимую структуру папок для приложения fbs.


С этой книгой читают
Эта книга познакомит с практическим использованием языка MetaQuotes Language 5 (MQL5) программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках с помощью торговой платформы MetaTrader 5.Вы научитесь создавать MQL5 приложения, используя как процедурное программирование, так и объектно-ориентированное программирование.Познакомитесь с общей структурой и свойствами техничес
Apache Hadoop – это платформа для распределенной обработки больших наборов данных на кластерах компьютеров с использованием простых моделей программирования. В этой книге вы познакомитесь с общей архитектурой платформы, компонентами стека, такими как HDFS и MapReduce, приложениями Hadoop.
Эта книга рассказывает о принципах работы Ethereum, отличии Ethereum от Bitcoin. Вы узнаете что такое децентрализованные приложения Dapp и смарт-контракты, познакомитесь с инструментами разработки Dapp. Изучите высокоуровневый язык Solidity создания смарт-контрактов для виртуальной машины Ethereum. Познакомитесь со средой разработки Remix. Узнаете о практическом применении смарт-контрактов, стандартах ERC20, ERC-721, ERC-1155 и EIP-3156.
Эта книга предназначена для всех, кто хочет изучить основы программирования с использованием языка Java.Эта книга даст понимание основных элементов программирования на Java и абстракции данных с использованием объектно-ориентированного подхода. С этой книгой Вы научитесь писать программы с использованием переменных, массивов, управляющих операторов, циклов, рекурсии, абстракции данных и объектов в интегрированной среде разработки. Вы изучите осно
Расцвет цифрового мира оказался не совсем таким, как мы ожидали. Персональные компьютеры и мобильные устройства подарили людям доступ к знаниям и новые возможности для обмена ими, жизнь стала проще и лучше благодаря новым технологиям, в первую очередь Всемирной паутине. Но очень скоро выяснилось, что у медали есть и обратная сторона: появились первые случаи кражи личной информации, цифровые вредоносные программы научились наносить реальный ущерб,
В последние десятилетия технологии коммуникации развивались так бурно, что большинству из нас трудно сейчас представить свою жизнь без мобильной связи и Интернета. Всемирная паутина – это огромная территория без границ и почти без правил. И как и в реальном мире, эту территорию «населяют» не только мирные обыватели, но и преступники всех мастей – от брачных аферистов и мошенников на доверии до наркоторговцев и наемных убийц. О том, какие опасност
Каждый из нас уже привык соцсетям и интернету, и есть такие люди, которые это понимают.
Перед вами книга, которая научит вашего ребёнка основам кибербезопасности и поможет выстроить здоровые отношения с гаджетами.Кибербезопасность – это не просто модное слово, а жизненно важный навык. Сегодня дети проводят много времени в виртуальной реальности – это их способ отдыхать, общаться и узнавать новое. Каждая семья по-своему решает, сколько времени ребёнок может проводить в Сети, но знать правила безопасного поведения в интернете необходи
В каких мирах путешествует душа человека, пока его тело спит? Могут ли души людей общаться между собой подобно тому, как люди делают это с помощью мобильных телефонов? Какие возможности открываются перед человеком, когда его душа и сознание пребывают в полной гармонии? Какая связь между душой отдельного человека и душой мира? И как один человек может спасти целый мир?
Сегодня медовые маски и медовый массаж – одни из наиболее популярных процедур среди современных красавиц. Причем многие девушки не экономят на собственной внешности и готовы тратить сумасшедшие деньги, лишь бы иметь идеально гладкую и бархатную кожу. А мы поделимся секретом того, как правильно «ужалить» проблемные участки тела пчелиным продуктом, да еще и в домашних условиях и с минимальными затратами.
Обыкновенный город. Обыкновенные наши дни. Обыкновенный молодой человек снимает обыкновенную квартиру, в которой начинают происходить необыкновенные вещи.
Многие века между людьми и эльфами шла непримиримая борьба. И всякий остроухий, оказавшийся среди людей, неизбежно привлекал внимание Охотников. Почти пятнадцать лет полукровке Эриал Найт удавалось жить в неведении, пока смерть приемной матери и предательство друга не вынудили ее покинуть убежище и выйти в неспокойный мир. Но даже скрываясь от Охотников, Эри надеется на счастье. На пути к нему ей предстоит пережить немало приключений, влюбиться и