Создание настольных Python приложений с графическим интерфейсом пользователя - Тимур Машнин
Для установки библиотеки 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.
Список использованных источников
https://riverbankcomputing.com/software/pyqt
https://pypi.org/project/PySide/
https://docs.python.org/3/library/tkinter.html
https://kivy.org/#home
https://www.wxpython.org
https://github.com/hoffstadt/DearPyGui
https://habr.com/ru/
https://coderlessons.com