EJIO.ctk_extender.components package¶

Submodules¶
EJIO.ctk_extender.components.color_picker module¶
- class EJIO.ctk_extender.components.color_picker.ColorPicker(parent: Any, initial_color: str | Color, on_change: Callable[[Color], None], geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetИнтерактивный виджет выбора цвета. Поддерживает ввод HEX, RGB целых чисел и вызов палитры ОС.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
EJIO.ctk_extender.components.copyable_field module¶
- class EJIO.ctk_extender.components.copyable_field.CopyableField(parent: Any, label_text: str, value_text: str, layout: Literal['row', 'column'] = 'row', geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerИнформационное поле вывода данных с кнопкой копирования в буфер обмена. Поддерживает каноничное позиционирование подписи сверху (column) или в ряд (row).
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит контейнер поля копирования с динамической сеткой.
- copy_to_clipboard() None[исходный код]¶
Потокобезопасно копирует текст в буфер обмена операционной системы.
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
EJIO.ctk_extender.components.date_picker module¶
- class EJIO.ctk_extender.components.date_picker.DatePicker(parent: Any, initial_date: date | None = None, on_select: Callable[[date], None] | None = None, geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetИнтерактивный календарный виджет выбора даты. Полностью автономен, перерисовывает дни месяца на лету.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
EJIO.ctk_extender.components.event module¶
- class EJIO.ctk_extender.components.event.FieldReturnEvent(sender: Any, field_name: str)[исходный код]¶
Базовые классы:
EventТриггерится при нажатии Enter внутри текстовых полей формы.
- field_name: str¶
EJIO.ctk_extender.components.image module¶
- class EJIO.ctk_extender.components.image.ImageWidget(parent: Any, source: str | Path | bytes | None = None, container_size: tuple[int, int] = (300, 300), forced_size: tuple[int, int] | None = None, placeholder_text: str = 'Изображение отсутствует', geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetВысокоуровневый интерактивный компонент для работы с изображениями на базе ctk.CTkCanvas. Поддерживает загрузку из строк-путей, объектов Path и сырых байт (bytes) в памяти.
- build() <MagicMock name='mock.CTkCanvas' id='140416946111408'>[исходный код]¶
Строит фиксированный по размеру холст-контейнер.
- destroy() None[исходный код]¶
Очищает тяжелые Pillow-ресурсы, закрывает буферы памяти и уничтожает холст.
- update_source(new_source: str | Path | bytes) None[исходный код]¶
Публичный метод: динамически загружает новое изображение в созданный контейнер.
EJIO.ctk_extender.components.labeled_field module¶
- class EJIO.ctk_extender.components.labeled_field.FormLabeledField(parent: Any, name: str, label_text: str, placeholder: str = '', layout: Literal['row', 'column'] = 'row', required: bool = False, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainer,InputFieldВысокоуровневый составной компонент формы. Строится на базе WidgetContainer и использует внутри себя готовый FormTextField.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый фрейм контейнера и декларативно наполняет его написанными ранее компонентами.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- destroy() None[исходный код]¶
Каскадно очищает ссылки и вызывает базовое уничтожение контейнера.
- focus() None[исходный код]¶
Перенаправляет фокус ввода внутреннему текстовому полю формы.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
EJIO.ctk_extender.components.localization module¶
EJIO.ctk_extender.components.login_form module¶
- class EJIO.ctk_extender.components.login_form.LoginForm(parent: Any, geometry: Any = None)[исходный код]¶
Базовые классы:
FormВысокоуровневый составной компонент формы авторизации.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
EJIO.ctk_extender.components.scrollable_container module¶
- class EJIO.ctk_extender.components.scrollable_container.ScrollableContainer(parent: Any, geometry: Any = None, orientation: str = 'vertical', label_text: str = '', **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerПотокобезопасный прокручиваемый контейнер. Позволяет динамически добавлять элементы через фабрику add_widget, автоматически управляя полосами прокрутки.
- build() <MagicMock name='mock.CTkScrollableFrame' id='140416955856944'>[исходный код]¶
Строит нативный прокручиваемый фрейм customtkinter.
EJIO.ctk_extender.components.section module¶
- class EJIO.ctk_extender.components.section.Section(parent: Any, title_text: str, geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerГрафическая секция: крупный заголовок по левому краю + прокручиваемый контейнер. Метод add_widget прозрачно проксирует добавление элементов прямо внутрь скролл-зоны.
- add_widget(widget_cls: type[W], *args: Any, **kwargs: Any) W[исходный код]¶
Переопределенный метод: направляет виджеты строго внутрь скролл-зоны.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит каркас секции.
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
EJIO.ctk_extender.components.table module¶
- class EJIO.ctk_extender.components.table.TableWidget(parent: Any, data_list: ReactiveList[list[str]], headers: list[str] | None = None, max_visible_rows: int | None = None, placeholder_text: str = 'Нет данных для отображения', geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetВысокоуровневый реактивный компонент таблицы на базе ScrollableFrame. Автоматически перерисовывает строки при изменении привязанного ReactiveList. Использует менеджер разметки Grid для отрисовки ячеек.
- build() <MagicMock name='mock.CTkScrollableFrame' id='140416955856944'>[исходный код]¶
Строит прокручиваемый контейнер для таблицы с учетом ограничений высоты.
- destroy() None[исходный код]¶
Очищает ячейки и каскадно уничтожает контейнер таблицы.
Module contents¶
- class EJIO.ctk_extender.components.ColorPicker(parent: Any, initial_color: str | Color, on_change: Callable[[Color], None], geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetИнтерактивный виджет выбора цвета. Поддерживает ввод HEX, RGB целых чисел и вызов палитры ОС.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- class EJIO.ctk_extender.components.CopyableField(parent: Any, label_text: str, value_text: str, layout: Literal['row', 'column'] = 'row', geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerИнформационное поле вывода данных с кнопкой копирования в буфер обмена. Поддерживает каноничное позиционирование подписи сверху (column) или в ряд (row).
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит контейнер поля копирования с динамической сеткой.
- copy_to_clipboard() None[исходный код]¶
Потокобезопасно копирует текст в буфер обмена операционной системы.
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
- class EJIO.ctk_extender.components.DatePicker(parent: Any, initial_date: date | None = None, on_select: Callable[[date], None] | None = None, geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetИнтерактивный календарный виджет выбора даты. Полностью автономен, перерисовывает дни месяца на лету.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- class EJIO.ctk_extender.components.FieldReturnEvent(sender: Any, field_name: str)[исходный код]¶
Базовые классы:
EventТриггерится при нажатии Enter внутри текстовых полей формы.
- field_name: str¶
- class EJIO.ctk_extender.components.FormLabeledField(parent: Any, name: str, label_text: str, placeholder: str = '', layout: Literal['row', 'column'] = 'row', required: bool = False, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainer,InputFieldВысокоуровневый составной компонент формы. Строится на базе WidgetContainer и использует внутри себя готовый FormTextField.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый фрейм контейнера и декларативно наполняет его написанными ранее компонентами.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- destroy() None[исходный код]¶
Каскадно очищает ссылки и вызывает базовое уничтожение контейнера.
- focus() None[исходный код]¶
Перенаправляет фокус ввода внутреннему текстовому полю формы.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
- class EJIO.ctk_extender.components.ImageWidget(parent: Any, source: str | Path | bytes | None = None, container_size: tuple[int, int] = (300, 300), forced_size: tuple[int, int] | None = None, placeholder_text: str = 'Изображение отсутствует', geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetВысокоуровневый интерактивный компонент для работы с изображениями на базе ctk.CTkCanvas. Поддерживает загрузку из строк-путей, объектов Path и сырых байт (bytes) в памяти.
- build() <MagicMock name='mock.CTkCanvas' id='140416946111408'>[исходный код]¶
Строит фиксированный по размеру холст-контейнер.
- destroy() None[исходный код]¶
Очищает тяжелые Pillow-ресурсы, закрывает буферы памяти и уничтожает холст.
- update_source(new_source: str | Path | bytes) None[исходный код]¶
Публичный метод: динамически загружает новое изображение в созданный контейнер.
- class EJIO.ctk_extender.components.LoginForm(parent: Any, geometry: Any = None)[исходный код]¶
Базовые классы:
FormВысокоуровневый составной компонент формы авторизации.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- class EJIO.ctk_extender.components.ScrollableContainer(parent: Any, geometry: Any = None, orientation: str = 'vertical', label_text: str = '', **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerПотокобезопасный прокручиваемый контейнер. Позволяет динамически добавлять элементы через фабрику add_widget, автоматически управляя полосами прокрутки.
- build() <MagicMock name='mock.CTkScrollableFrame' id='140416955856944'>[исходный код]¶
Строит нативный прокручиваемый фрейм customtkinter.
- class EJIO.ctk_extender.components.Section(parent: Any, title_text: str, geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerГрафическая секция: крупный заголовок по левому краю + прокручиваемый контейнер. Метод add_widget прозрачно проксирует добавление элементов прямо внутрь скролл-зоны.
- add_widget(widget_cls: type[W], *args: Any, **kwargs: Any) W[исходный код]¶
Переопределенный метод: направляет виджеты строго внутрь скролл-зоны.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит каркас секции.
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
- class EJIO.ctk_extender.components.TableWidget(parent: Any, data_list: ReactiveList[list[str]], headers: list[str] | None = None, max_visible_rows: int | None = None, placeholder_text: str = 'Нет данных для отображения', geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetВысокоуровневый реактивный компонент таблицы на базе ScrollableFrame. Автоматически перерисовывает строки при изменении привязанного ReactiveList. Использует менеджер разметки Grid для отрисовки ячеек.
- build() <MagicMock name='mock.CTkScrollableFrame' id='140416955856944'>[исходный код]¶
Строит прокручиваемый контейнер для таблицы с учетом ограничений высоты.
- destroy() None[исходный код]¶
Очищает ячейки и каскадно уничтожает контейнер таблицы.