флагом стиля, будут добавлены в функциональную группу первого переключателя.
Объявление другой радиокнопки с флагом GROUP запустит новую группу радиокнопок.
Здесь у нас есть группа из двух переключателей.
И состояние каждого из переключателей отображается в строке состояния.
И мы привязываем событие RADIOBUTTON к обработчику события SetVal.
Также мы создаем статусбар с двумя полями.
В методе SetVal мы узнаем состояния переключателей.
И мы обновляем поля строки состояния до текущих значений переключателей.
Датчик Gauge — это виджет, который используется при выполнении длительных задач, где требуется индикатор, показывающий текущее состояние задачи.
В этом примере у нас есть датчик и кнопка, которая запускает датчик.
И мы используем Timer для выполнения кода через определенные промежутки времени.
В эти моменты мы обновляем шкалу датчика.
Переменная count используется для определения того, какая часть задачи уже выполнена.
В конструкторе виджета Gauge, параметр диапазона устанавливает максимальное целочисленное значение виджета.
Когда мы нажимаем кнопку ОК, вызывается метод OnStart.
Здесь сначала мы проверяем, находится ли переменная count в диапазоне задачи.
Если нет, то возвращаемся из метода.
Если же задача еще не выполнена, мы запускаем таймер.
И метод OnTimer вызывается периодически после запуска таймера.
В этом методе мы обновляем переменную count и виджет датчика.
Если переменная count равна максимальному значению, мы останавливаем таймер.
Slider — это виджет с ползунком, который можно тянуть вперед и назад.
Таким образом, мы можем выбрать конкретное значение из диапазона.
Здесь, значение, выбранное в ползунке, отображается в строке статуса.
При создании Slider, мы указываем начальную позицию ползунка параметром value, а минимальное и максимальное положение ползунка — параметрами minValue и maxValue.
Стиль HORIZONTAL делает ползунок горизонтальным.
Когда появляется событие SCROLL, здесь вызывается метод OnSliderScroll, в котором текущее выбранное значение ползунка отображается в строке статуса.
Виджет SpinCtrl позволяет увеличивать и уменьшать значение в определенном диапазоне.
Здесь мы переводим температуру по Фаренгейту в градусы Цельсия.
Мы создаем виджет SpinCtrl с начальным значением 0.
И метод SetRange устанавливает диапазон значений для виджета.
Когда мы выбираем значение в виджете, вызывается метод OnCompute.
В этом методе мы получаем текущее значение и вычисляем температуру по Цельсию и показываем вычисленную температуру в строке статуса.
Виджет ListBox представляет собой список строк с вертикальной прокруткой.
И по умолчанию можно выбрать один элемент в списке. Однако список можно настроить и для множественного выбора.
Здесь параметр Choices — это список строк, используемых для заполнения списка.
В этом примере ListBox заполняется строками с помощью объекта languages.
И ListBox связывается с обработчиком onListBox с помощью события LISTBOX.
Этот обработчик добавляет выбранную строку в многострочный виджет TextCtrl.
Теперь, как создать не список, а таблицу?
ListCtrl — это улучшенный виджет списка.
Если ListBox показывает только один столбец, ListCtrl может содержать несколько столбцов.
Внешний вид виджета ListCtrl контролируется параметрами стиля.
Столбцы заголовка создаются методом InsertColumn, который принимает параметры номера столбца, заголовок, стиль и ширину.
Здесь список кортежей, каждый из которых содержит три строки, хранит данные, которые используются для заполнения столбцов объекта ListCtrl.
Новая строка заполняется методом InsertStringItem, который возвращает индекс текущей строки.
Использование maxint дает номер строки после последней строки.
Используя индекс, другие столбцы заполняются методом SetStringItem.
Событие LIST_ITEM_SELECTED передает индекс выбранного элемента из таблицы.
И мы используем этот индекс в обработчике, чтобы получить элемент и столбец в таблице, чтобы получить текст ячейки.
Библиотека wxHTML и iewin содержат классы для анализа и отображения содержимого HTML.
Хотя этот браузер не предназначен для использования в качестве полнофункционального браузера, объект IEHtmlWindow может служить универсальным средством просмотра HTML.
Хотя для использования этого браузера понадобится установка дополнительного модуля comtypes, питон COM-пакета.
SplitterWindow — это специальная компоновка, которая содержит два подокна, размер которых можно динамически изменять, перетаскивая границы между ними.
Класс SplitterWindow имеет очень простой конструктор с параметрами, имеющими значения по умолчанию.
В этом примере SplitterWindow добавляется к фрейму верхнего уровня.
Одна панель предназначена для хранения многострочного поля TextCtrl.
Список ListBox помещается на другую панель.
И SplitterWindow разделяет по вертикали окно, и две панели добавляются в подокна.
Ширину подокон можно изменять с помощью перетаскивания границы.
Библиотека wxPython содержит набор виджетов Book, которые позволяют пользователю переключаться между различными панелями в окне.
Это такие виджеты как Notebook, Choicebook, Listbook и Treebook.
Виджет Notebook представляет собой окно с вкладками или страницами.
И пользователь может переключаться между страницами, щелкая заголовок соответствующей вкладки.
Объекты этих вкладок добавляются как страницы в Notebook во фрейме верхнего уровня.
API рисования wxPython предлагает различные функции для рисования форм, текста и изображений.
Объекты, необходимые для рисования, такие как цвет, перо, кисть и шрифт, могут быть созданы с использованием классов интерфейса.
Класс PaintDC используется для рисования в клиентской области окна, с помощью события PaintEvent.
Существуют также такие классы как ScreenDC, который используется для рисования на экране, и ClientDC, который используется для рисования в клиентской области окна без события PaintEvent.
Класс Colour представляет собой комбинацию значений RGB и есть также предопределенные цветовые объекты, такие как BLACK, BLUE, GREEN и так далее.
Цвет с произвольной комбинацией значений RGB формируется как объект Colour.
Объект Pen определяет цвет, ширину и стиль форм, таких как линия, прямоугольник, круг и т. д.
Кисть Brush — это еще один графический объект, необходимый для заливки фона таких фигур, как прямоугольник, эллипс, круг и т. д.
Для настраиваемого объекта Brush требуются параметры стиля Colour и Brush.
Здесь пример показывает использование объектов Pen, Brush, Color и Font.
Dear PyGui — это простой и мощный фреймворк графического интерфейса пользователя Python.
Dear PyGui — это библиотека, созданная с помощью библиотеки С++ Dear ImGui, для имитации традиционного графического интерфейса.
Dear PyGui отличается от других графических интерфейсов Python тем, что под капотом Dear PyGui использует графический процессор компьютера для отрисовки динамических интерфейсов.
Dear PyGui не использует нативные виджеты, а вместо этого использует графическую