27.10.2021

Релиз тулкита для построения интерфейса пользователя DearPyGui 1.0.0

Опубликован выпуск Dear PyGui 1.0.0 (DPG), кросс-платформенного тулкита для разработки графического интерфейса пользователя на языке Python. Наиболее важной особенностью проекта является использование многопоточности и вынос операций на сторону GPU для ускорения отрисовки. Ключевой целью формирования выпуска 1.0.0 является стабилизация API. Нарушающие совместимость изменения теперь будут предлагаться в отдельном модуле «experimental».

Для обеспечения высокой производительности основная часть кода DearPyGui написана на языке C++ с использованием библиотеки Dear ImGui, развиваемой теми же авторами, но рассчитанной на создание графических приложений на C++ и предлагающей принципиально иную модель работы. Исходные тексты Dear PyGui распространяются под лицензией MIT. Заявлена поддержка платформ Linux, Windows 10 и macOS.

Тулкит подходит как для быстрого создания простых интерфейсов, так и для разработки сложных специализированных GUI для игр, научных и инженерных приложений, в которых требуется высокая отзывчивость и интерактивность. Разработчикам приложений предлагается простой API и набор готовых традиционных элементов, таких как кнопки, ползунки, переключатели, меню, текстовые формы, показ изображений и различные методы раскладки элементов окна. Из расширенный возможностей отмечается поддержка формирования диаграмм, графиков и таблиц.

Дополнительно доступны набор просмотрщиков ресурсов, редактор узловых связей, система инспектирования тем оформления и элементы для произвольной отрисовки, подходящие для создания 2D-игр. Для упрощения разработки поставляется несколько утилит, среди которых отладчик, редактор кода, просмотрщик документации и просмотрщик логов.

Dear PyGui реализует типичный для GUI-библиотек абстрактный режим работы API (Retained mode), но он реализован поверх библиотеки Dear ImGui, работающей в режиме IMGUI (Immediate mode GUI). Retained-режим подразумевает то, что задачи по формированию сцены берёт на себя библиотека, а в Immediate-режиме модель визуализации обрабатывается на стороне клиента, а графическая библиотека используется лишь для финального вывода, т.е. приложение каждый раз выдаёт команды отрисовки всех элементов интерфейса для формирования очередного готового кадра.

В DearPyGui не используются предоставляемые системой нативные виджеты, а выполняется отрисовка собственных виджетов через обращение к графическим API OpenGL, OpenGL ES, Metal и DirectX 11, в зависимости от текущей операционной системы. Всего предлагается более 70 готовых виджетов.


Источник.