Обучающие материалы по созданию GUI на Python

Видеокурс по PyQt5: 2017 - 10 - Python GUI Programming Recipes using PyQt5 - - Burkhard Meier - 4h 9m В курсе, кроме GUI, затрагиваются темы: SQL, Network (TCP-sockets), OpenGL, анимации для GUI и CSS для GUI. Этот видеокурс можно скачать, если активировать бесплатную 10-дневную триал-подписку на www.packtpub.com. Устанавливается PyQt5 командой: pip install pyqt5 (~50 МБ). Дизайнер для GUI: pip install pyqt5-tools (~50 МБ). После установки всё вместе займёт ~250 MB. Не требуется устанавливать целиком весь Qt SDK.

Видеокурс по Tkinter и PyQt5 от автора курса выше: 2019 - 03 - Hands-On Python 3.x GUI Programming - Burkhard Meier - 2h 56m Данный курс кроме GUI рассматривает написание unit-тестов для своего кода с GUI. Как писать код, чтобы для него можно было писать unit-тесты. Так же курс рассматривает TCP-сокеты, SQLite, CSS и сборку в исполняемый файл с помощью PyInstaller.

Видеокурс по wxPython: wxPython GUI and PyOpenGL В этом видеокурсе рассматривается создание GUI для работы с графическими объектами нарисованными с помощью OpenGL 3, то есть создание гибридного приложения: стандартный GUI и отображение на окне 2D/3D графики на шейдерном OpenGL версии 3. Теперь wxPython можно установить одной командой: pip install wxpython. В конце курса производится сборка приложения в один EXE-файл с помощью PyInstaller командой: pyinstaller --onefile --windowed main.py. PyInstaller устанавливается командой: pip install pyinstaller

Сейчас PySide2 официальный, наверно лучше его.

Пример создания GUI приложения на Python. PySide2, Poetry, PyCharm

Код в основном почти тот же, только другие импорты.

1 лайк

Я сравнивал, какой фреймворк популярнее на CyberForum: PyQt, PySide или Kivy. Оказалось, что PyQt, почему-то, намного популярнее. Ещё там очень популярен Tkinter. Я уверен, что Tkinter очень популярен на CyberForum, потому что в российских ВУЗ’ах по нему чаще всего задают задачи, так как он встроенный в Python. А вот почему PyQt так популярен на CyberForum - для меня загадка. Почему-то по PyQt тоже дают задания. Я решил изучить элементарную базу по Tkinter и PyQt, чтобы отвечать студентам и практиковаться на их задачах. Второй критерий выбора связан с наличием простых туториалов с интеграцией с PyOpenGL. Мой выбор wxPython, pyGLFW связан с простыми и доступными туториалами по PyOpenGL. pyGLFW позволяет создавать окно для OpenGL, а wxPython - полностью бесплатная и простая в освоении библиотека для интеграции OpenGL и стандартного GUI. Я ещё смотрел в сторону Kivy, чтобы можно было делать приложения для iPhone и Android, но я не нашёл доступных и простых туториалов по интеграции OpenGL в Kivy. Для мобильных платформ я решил потом изучать Xamarin, который имеет встроенную поддержку 2D/3D на чистом шейдерном OpenGL за счёт того, что в Xamarin встроена библиотека OpenTK.

Он дольше существует просто, но в новых проектах думаю логичнее брать PySide2, потому что его вроде бы активно поддерживают сами разработчики Qt, а не какая-то сторонняя компания.

1 лайк

Мне нравится практиковаться на разных фреймворках. PySide2 я тоже буду изучать. Тем более, что обзорно туториалы по PyQt выше подойдут и для PySide2. Чем больше практики, тем быстрее и крепче можно будет изучить на приличном уровне Python и шейдреный OpenGL. Мне для зарубежного фриланса крайне важно не зацикливаться в практическом и теоретическом изучении на одном: языке, фреймворке, базе данных и т.д. Но при этом не распыляться, а чтобы одно с другим было как-то связано. OpenGL доступен из трёх языков, на которых я решил остановиться в ближайшие годы: Python, C#, TypeScript. Есть два вида приложений для меня с графикой: GUI на OpenGL (как в играх) и гибрид OpenGL + стандартный GUI из фреймворков (PySide2, PyQt, wxPython, WPF, WinForms, Xamarin, HTML5/CSS/Handlebars/TypeScript). У меня всё крутится вокруг 2D/3D графики на OpenGL и unit-тестировании, а GUI, SQL и сокеты - это вспомогательные вещи. Программирование простых игр с мультиплеером - это полигон для тренировок и возможная монетизация, например, простых игр, когда научусь их программировать на достойном уровне. Я нашёл очень хорошую книгу одного американского профессора, который обучает в книге Python через создание простых игр на Pygame: 2016 - Program Arcade Games With Python and Pygame - Paul Craven - 4th edition Невероятно интересная книга, которая наполнена множеством практических заданий. Профессор пишет, что делать упражнения обязательно, иначе получится, как если бы человек изучал баскетбол, изучая только теорию по книгам.

1 лайк