Dear PyGui – это простой и мощный фреймворк графического интерфейса пользователя Python.
Dear PyGui – это библиотека, созданная с помощью библиотеки С++ Dear ImGui, для имитации традиционного графического интерфейса.
Dear PyGui отличается от других графических интерфейсов Python тем, что под капотом Dear PyGui использует графический процессор компьютера для отрисовки динамических интерфейсов.
Dear PyGui не использует нативные виджеты, а вместо этого использует графическую карту компьютера для непосредственной отрисовки.
Для установки библиотеки Dear PyGui создадим проект в
PyCharm
и в окне терминала наберем команду pip install dearpygui.
Существует онлайн документация библиотеки, где можно посмотреть все функции и параметры.
Dear PyGui состоит из окна программы, окон и виджетов.
Окно программы – это главное окно программы, которое создается в конце основного скрипта Python с помощью вызова функции start_dearpygui.
Dear PyGui состоит из двух модулей core и simple.
Модуль core содержит базовую функциональность Dear PyGUI.
Модуль simple содержит простые оболочки и другие утилиты, созданные из core, чтобы обеспечить более удобный интерфейс Dear PyGui.
Методом set_main_window_size мы устанавливаем размер основного окна.
Это самое большое черное окно.
Метод window модуля simple является оберткой метода add_window модуля core.
Этот метод добавляет окно в основное окно.
И в это добавленное окно мы уже добавляем элементы методом add.
Здесь мы добавили текст, кнопку, поле ввода и слайдер.
Теперь, как изменять внешний вид окна.
Мы вызываем метод show_style_editor, который открывает окно редактора.
Здесь это окно ниже.
В этом окне мы меняем размеры и цвета и нажимаем кнопку Save, где она есть, и кнопку Export.
При этом в буфер копируется код изменения внешнего вида.
Мы сохраняем этот код в блокноте и можем выбрать там нужный нам метод и перенести его уже в наш код.
Здесь мы выбрали метод set_theme_item с параметром WindowBg, для изменения цвета фона окна, который стал светлым, а не темным как по умолчанию.
Далее мы уже убираем метод show_style_editor из нашего кода, чтобы не показывать редактор стилей.
Параметр callback позволяет связать обработчик с кнопкой, чтобы выполнять код при нажатии пользователем кнопки.
В документации легко посмотреть все методы для добавления виджетов в окно.
У каждого виджета должно быть уникальное имя.
По умолчанию имя присваивается как метка виджета, если это применимо.
Если вы хотите изменить метку виджета, вы можете поместить две решетки «##» в конце имени и все, что будет после решеток «##» будет скрыто от отображаемого имени.
Также вы можете использовать ключевое слово label, которое будет отображать метку вместо имени виджета.
Некоторые имена виджетов создаются автоматически, например для виджета same_line.
Однако у них есть необязательное ключевое слово name, которое можно указать, если вам понадобится ссылаться на виджет позже.
По умолчанию виджеты создаются в порядке их кодирования.
Однако элементы могут быть добавлены не по порядку, если указать родительский контейнер.
Использование ключевого слова parent вставит виджет в конец дочернего списка родителя.
Если вы хотите вставить его в другое место, используйте ключевое before в сочетании с ключевым словом parent, чтобы поместить элемент перед другим виджетом в дочернем списке.
Каждый виджет ввода имеет значение, которое можно установить с помощью ключевого слова default_value при создании, или во время выполнения командой set_value.
Чтобы получить доступ к значению виджета, мы можем использовать команду get_value.
Каждый виджет ввода имеет обработчик, который запускается при взаимодействии с виджетом.
Обработчики могут быть назначены виджету при создании или после создания с помощью метода set_item_callback.