EJIO.ctk_extender.widget package¶

Subpackages¶
- EJIO.ctk_extender.widget.components package
- EJIO.ctk_extender.widget.form package
- Subpackages
- EJIO.ctk_extender.widget.form.fields package
- Submodules
- EJIO.ctk_extender.widget.form.fields.base module
- EJIO.ctk_extender.widget.form.fields.checkbox module
- EJIO.ctk_extender.widget.form.fields.combobox module
- EJIO.ctk_extender.widget.form.fields.directory module
- EJIO.ctk_extender.widget.form.fields.file module
- EJIO.ctk_extender.widget.form.fields.option_menu module
- EJIO.ctk_extender.widget.form.fields.radio module
- EJIO.ctk_extender.widget.form.fields.segmented module
- EJIO.ctk_extender.widget.form.fields.slider module
- EJIO.ctk_extender.widget.form.fields.switch module
- EJIO.ctk_extender.widget.form.fields.text module
- EJIO.ctk_extender.widget.form.fields.textbox module
- Module contents
- EJIO.ctk_extender.widget.form.fields package
- Submodules
- EJIO.ctk_extender.widget.form.base module
- EJIO.ctk_extender.widget.form.events module
- Module contents
- Subpackages
- EJIO.ctk_extender.widget.geometry package
Submodules¶
EJIO.ctk_extender.widget.base module¶
- class EJIO.ctk_extender.widget.base.Widget(parent: <MagicMock name = 'mock.CTk.__or__().__or__().__or__()' id='140416956849216'>, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
ABCБазовый абстрактный класс для всех элементов интерфейса ctk_extender. Автоматически управляет жизненным циклом, геометрией и декларативными подписками на события.
- abstractmethod build() <MagicMock name='mock.CTkBaseClass' id='140416957414240'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- property ctk_instance: <MagicMock name='mock.CTkBaseClass' id='140416957414240'>¶
Возвращает ссылку на реальный объект customtkinter.
- Исключение:
WidgetNotInitializedError – Если инстанс не инициализирован.
- destroy() None[исходный код]¶
Полностью уничтожает виджет, очищая память и удаляя его глобальные подписки.
- focus() None[исходный код]¶
Переводит фокус ввода операционной системы на данный виджет.
- mount() Self[исходный код]¶
Размещает виджет на родительском контейнере в соответствии с заданным методом геометрии.
- property parent: Any¶
Возвращает родительский контейнер виджета.
- set_geometry(geometry: GeometryStrategy) Self[исходный код]¶
Позволяет динамически на лету переключить менеджер разметки виджета (например, перекинуть его из pack в grid без пересоздания объекта).
- Параметры:
geometry – Объект стратегии геометрии.
- unmount() Self[исходный код]¶
Скрывает виджет с экрана, извлекая его из менеджера геометрии, но сохраняя состояние объекта в памяти.
EJIO.ctk_extender.widget.container module¶
- class EJIO.ctk_extender.widget.container.WidgetContainer(parent: <MagicMock name = 'mock.CTk.__or__().__or__().__or__()' id='140416956849216'>, geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
WidgetКомпонент-контейнер, объединяющий несколько виджетов внутри единого фрейма (CTkFrame). Автоматически каскадно управляет жизненным циклом и уничтожением всех дочерних элементов.
- add_widget(widget_cls: type[W], *args: Any, **kwargs: Any) W[исходный код]¶
Фабричный метод для динамического создания и добавления виджета внутрь контейнера. Автоматически передает ctk_instance текущего контейнера в качестве родителя.
- Параметры:
widget_cls – Класс создаваемого виджета (наследник Widget).
args – Позиционные аргументы для конструктора виджета.
kwargs – Именованные аргументы для конструктора виджета.
- Результат:
Созданный экземпляр виджета.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
- remove_widget(widget: W) Self[исходный код]¶
Удаляет виджет из контейнера и уничтожает его ресурсы.
- Параметры:
widget – Экземпляр уничтожаемого виджета.
EJIO.ctk_extender.widget.err module¶
- exception EJIO.ctk_extender.widget.err.CtkExtenderWidgetContainerError(message: str)[исходный код]¶
Базовые классы:
CtkExtenderWidgetErrorБазовое исключение связанное с ошибками в WidgetContainer.
- exception EJIO.ctk_extender.widget.err.CtkExtenderWidgetError(message: str)[исходный код]¶
Базовые классы:
CtkExtenderBaseErrorБазовое исключение пакента widget пакета ctk_extender.
- exception EJIO.ctk_extender.widget.err.WidgetContainerExtensionError(message: str)[исходный код]¶
Базовые классы:
CtkExtenderWidgetContainerErrorИсключение связанное с ошибкой добавления виджета в WidgetContainer.
- exception EJIO.ctk_extender.widget.err.WidgetMountError(message: str)[исходный код]¶
Базовые классы:
CtkExtenderWidgetErrorИсключение связанное с ошибками монтирования виджета.
- exception EJIO.ctk_extender.widget.err.WidgetNotInitializedError(message: str)[исходный код]¶
Базовые классы:
CtkExtenderWidgetErrorИсключение связанное с ошибками инициализации виджета.
Module contents¶
- class EJIO.ctk_extender.widget.Button(parent: Any, text: str = 'Button', command: Callable[[], None] | None = None, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetКомпонент интерактивной кнопки (на базе ctk.CTkButton).
- build() <MagicMock name='mock.CTkButton' id='140416955843792'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- class EJIO.ctk_extender.widget.Form(parent: <MagicMock name = 'mock.CTk.__or__().__or__()' id='140416957553632'>, geometry: Any = None)[исходный код]¶
Базовые классы:
WidgetContainerСпециализированный контейнер для группировки элементов ввода. Автоматически собирает данные, проводит сквозную валидацию и очистку полей.
- add_widget(widget_cls: type[W], *args: Any, **kwargs: Any) W[исходный код]¶
Переопределенный метод добавления виджета. Если добавляемый виджет является полем ввода, регистрирует его в форме.
- Параметры:
widget_cls – Класс создаваемого виджета (наследник Widget).
args – Позиционные аргументы для конструктора виджета.
kwargs – Именованные аргументы для конструктора виджета.
- Результат:
Созданный экземпляр виджета.
- clear() Self[исходный код]¶
Сбрасывает значения всех полей формы.
- destroy() None[исходный код]¶
Очищает реестр полей ввода и каскадно уничтожает контейнер.
- focus_field(name: str) None[исходный код]¶
Переводит фокус ввода на указанное поле формы по его имени. Безопасно извлекает внутренний инпут и запрашивает фокус у ОС.
- Параметры:
name – Имя поля на которое нужно переключиться.
- get_data() dict[str, Any][исходный код]¶
Собирает текущие данные со всех зарегистрированных полей ввода.
- Результат:
Словарь, содержащий данные всех полей ввода в формате имя поля -> значение.
- remove_widget(widget: W) Self[исходный код]¶
Удаляет виджет из формы, синхронно вычищая его из реестра полей ввода и каскадно уничтожая его ресурсы.
- Параметры:
widget – Экземпляр уничтожаемого виджета.
- set_data(data: dict[str, Any]) Self[исходный код]¶
Заполняет поля формы переданным словарем данных.
- submit() bool[исходный код]¶
Запускает процесс валидации и отправки формы. Генерирует FormSubmittedEvent при успехе или FormValidationErrorEvent при ошибке.
- Результат:
True, если валидация успешна, иначе False.
- class EJIO.ctk_extender.widget.FormCheckBox(parent: Any, name: str, text: str = '', geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldФлажок (чекбокс) для формы (на базе ctk.CTkCheckBox).
- build() <MagicMock name='mock.CTkCheckBox' id='140416955675040'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() bool[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- class EJIO.ctk_extender.widget.FormComboBox(parent: Any, name: str, values: list[str], geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldВыпадающий список (комбобокс) для формы (на базе ctk.CTkComboBox).
- build() <MagicMock name='mock.CTkComboBox' id='140416955713872'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- class EJIO.ctk_extender.widget.FormDirectoryField(parent: Any, name: str, label_text: str, required: bool = False, geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainer,InputFieldПоле формы для выбора директорий с поддержкой валидации и ограничений.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() str | list[str][исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
- class EJIO.ctk_extender.widget.FormFileField(parent: Any, name: str, label_text: str, file_types: list[tuple[str, str]] | None = None, multiple: bool = False, required: bool = False, geometry: Any = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainer,InputFieldПоле формы для выбора файлов с поддержкой валидации и ограничений.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() str | list[str][исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
- class EJIO.ctk_extender.widget.FormOptionMenuField(parent: Any, name: str, label_text: str, values: list[str], default_value: str | None = None, layout: Literal['row', 'column'] = 'row', required: bool = False, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainer,InputFieldВысокоуровневое поле формы на базе выпадающего списка ctk.CTkOptionMenu. Интегрировано в подсистему валидации форм.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит каркас поля формы с поддержкой сеточного позиционирования.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проверяет, выбрано ли значение, если поле обязательно.
- class EJIO.ctk_extender.widget.FormRadioButtonGroup(parent: Any, name: str, options: list[str], geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldГруппа радио-кнопок для выбора одного значения из нескольких опций.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Собирает невидимый фрейм-контейнер, внутри которого автоматически упаковывает радио-кнопки по вертикали.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- destroy() None[исходный код]¶
Полностью уничтожает виджет, очищая память и удаляя его глобальные подписки.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- class EJIO.ctk_extender.widget.FormReadyEvent(target_form: Any)[исходный код]¶
Базовые классы:
EventСобытие-ответ, сообщающее форме, что её обработка завершена и она может принимать новые клики.
- property target_form: Any¶
- class EJIO.ctk_extender.widget.FormSegmentedButton(parent: Any, name: str, values: list[str], geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldСегментированная кнопка выбора для формы (на базе ctk.CTkSegmentedButton).
- build() <MagicMock name='mock.CTkSegmentedButton' id='140416955763120'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- class EJIO.ctk_extender.widget.FormSlider(parent: Any, name: str, from_value: float = 0.0, to_value: float = 100.0, default_value: float = 0.0, geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldКомпонент ползунка для формы (на базе ctk.CTkSlider).
- build() <MagicMock name='mock.CTkSlider' id='140416955719344'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() float[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- class EJIO.ctk_extender.widget.FormSubmittedEvent(sender: Any, data: dict[str, Any])[исходный код]¶
Базовые классы:
EventСобытие, возникающее при успешной валидации и отправке формы.
- property data: dict[str, Any]¶
- class EJIO.ctk_extender.widget.FormSwitch(parent: Any, name: str, text: str = '', geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldКомпонент тумблера/переключателя для формы (на базе ctk.CTkSwitch).
- build() <MagicMock name='mock.CTkSwitch' id='140416955725632'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() bool[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- class EJIO.ctk_extender.widget.FormTextBox(parent: Any, name: str, required: bool = False, geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
Widget,InputFieldМногострочное текстовое поле ввода для формы (на базе ctk.CTkTextbox).
- build() <MagicMock name='mock.CTkTextbox' id='140416955767824'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
- class EJIO.ctk_extender.widget.FormTextField(parent: Any, name: str, placeholder: str = '', required: bool = False, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
Widget,InputFieldТекстовое поле ввода для формы (на базе ctk.CTkEntry).
- build() <MagicMock name='mock.CTkEntry' id='140416955669664'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- get_value() str[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
- class EJIO.ctk_extender.widget.FormValidationErrorEvent(sender: Any, errors: dict[str, str])[исходный код]¶
Базовые классы:
EventСобытие, возникающее, если форма не прошла валидацию.
- property errors: dict[str, str]¶
- class EJIO.ctk_extender.widget.GeometryStrategy(**kwargs: Any)[исходный код]¶
Базовые классы:
ABCАбстрактный базовый класс для стратегий позиционирования (менеджеров геометрии). Инкапсулирует параметры разметки и управляет монтированием виджета.
- abstractmethod mount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Отрисовывает (монтирует) переданный виджет на родителе.
- abstractmethod unmount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Скрывает (размонтирует) переданный виджет, убирая его с экрана.
- class EJIO.ctk_extender.widget.GridStrategy(**kwargs: Any)[исходный код]¶
Базовые классы:
GeometryStrategyСтратегия позиционирования виджета через метод grid().
- mount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Отрисовывает (монтирует) переданный виджет на родителе.
- unmount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Скрывает (размонтирует) переданный виджет, убирая его с экрана.
- class EJIO.ctk_extender.widget.InputField(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolПротокол, описывающий требования к элементам ввода внутри Form. Разрешен для рантайм-проверок через isinstance().
- abstractmethod clear() None[исходный код]¶
Сброс значения поля в дефолтное состояние.
- abstractmethod get_value() Any[исходный код]¶
Возвращает текущее значение, введенное пользователем.
- abstract property name: str¶
Уникальное имя поля для формирования итогового словаря данных.
- abstractmethod set_value(value: Any) None[исходный код]¶
Программная установка значения в поле.
- validate() str | None[исходный код]¶
Проводит внутреннюю валидацию поля. :return: Строка с ошибкой, если она есть, иначе None.
- class EJIO.ctk_extender.widget.Label(parent: Any, text: str = '', geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetКомпонент вывода статичного текста или изображений (на базе ctk.CTkLabel).
- build() <MagicMock name='mock.CTkLabel' id='140416955848496'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- class EJIO.ctk_extender.widget.PackStrategy(**kwargs: Any)[исходный код]¶
Базовые классы:
GeometryStrategyСтратегия позиционирования виджета через метод pack().
- mount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Отрисовывает (монтирует) переданный виджет на родителе.
- unmount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Скрывает (размонтирует) переданный виджет, убирая его с экрана.
- class EJIO.ctk_extender.widget.PlaceStrategy(**kwargs: Any)[исходный код]¶
Базовые классы:
GeometryStrategyСтратегия позиционирования виджета через метод place().
- mount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Отрисовывает (монтирует) переданный виджет на родителе.
- unmount(instance: <MagicMock name = 'mock.CTkBaseClass' id='140416957414240'>) None[исходный код]¶
Скрывает (размонтирует) переданный виджет, убирая его с экрана.
- class EJIO.ctk_extender.widget.ProgressBar(parent: Any, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetКомпонент индикатора выполнения процессов (на базе ctk.CTkProgressBar).
- build() <MagicMock name='mock.CTkProgressBar' id='140416955851616'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- class EJIO.ctk_extender.widget.ScrollableFrame(parent: Any, title: str = '', geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerСкроллируемый контейнер-фрейм для больших списков виджетов (на базе ctk.CTkScrollableFrame).
- build() <MagicMock name='mock.CTkScrollableFrame' id='140416955856944'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- class EJIO.ctk_extender.widget.Tabview(parent: Any, tabs: list[str], geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
WidgetContainerКомпонент многовкладочного интерфейса (на базе ctk.CTkTabview).
- add_widget_to_tab(tab_name: str, widget_cls: type[W], *args: Any, **kwargs: Any) W[исходный код]¶
Фабричный метод для добавления виджета на конкретную вкладку компонента Tabview.
- Параметры:
tab_name – Имя вкладки.
widget_cls – Виджет для добавления.
args – Аргументы для инициализации виджета.
kwargs – Ключевые аргументы для инициализации виджета.
- build() <MagicMock name='mock.CTkTabview' id='140416957562224'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- class EJIO.ctk_extender.widget.Widget(parent: <MagicMock name = 'mock.CTk.__or__().__or__().__or__()' id='140416956849216'>, geometry: GeometryStrategy | None = None, **kwargs: Any)[исходный код]¶
Базовые классы:
ABCБазовый абстрактный класс для всех элементов интерфейса ctk_extender. Автоматически управляет жизненным циклом, геометрией и декларативными подписками на события.
- abstractmethod build() <MagicMock name='mock.CTkBaseClass' id='140416957414240'>[исходный код]¶
Абстрактный метод сборки компонента. Должен быть переопределен в наследниках. Внутри него создаются и конфигурируются реальные ctk-объекты.
- Результат:
Экземпляр реального ctk-виджета (например, ctk.CTkButton).
- Исключение:
NotImplementedError – Должен быть определен в подклассе.
- property ctk_instance: <MagicMock name='mock.CTkBaseClass' id='140416957414240'>¶
Возвращает ссылку на реальный объект customtkinter.
- Исключение:
WidgetNotInitializedError – Если инстанс не инициализирован.
- destroy() None[исходный код]¶
Полностью уничтожает виджет, очищая память и удаляя его глобальные подписки.
- focus() None[исходный код]¶
Переводит фокус ввода операционной системы на данный виджет.
- mount() Self[исходный код]¶
Размещает виджет на родительском контейнере в соответствии с заданным методом геометрии.
- property parent: Any¶
Возвращает родительский контейнер виджета.
- set_geometry(geometry: GeometryStrategy) Self[исходный код]¶
Позволяет динамически на лету переключить менеджер разметки виджета (например, перекинуть его из pack в grid без пересоздания объекта).
- Параметры:
geometry – Объект стратегии геометрии.
- unmount() Self[исходный код]¶
Скрывает виджет с экрана, извлекая его из менеджера геометрии, но сохраняя состояние объекта в памяти.
- class EJIO.ctk_extender.widget.WidgetContainer(parent: <MagicMock name = 'mock.CTk.__or__().__or__().__or__()' id='140416956849216'>, geometry: GeometryStrategy | None = None)[исходный код]¶
Базовые классы:
WidgetКомпонент-контейнер, объединяющий несколько виджетов внутри единого фрейма (CTkFrame). Автоматически каскадно управляет жизненным циклом и уничтожением всех дочерних элементов.
- add_widget(widget_cls: type[W], *args: Any, **kwargs: Any) W[исходный код]¶
Фабричный метод для динамического создания и добавления виджета внутрь контейнера. Автоматически передает ctk_instance текущего контейнера в качестве родителя.
- Параметры:
widget_cls – Класс создаваемого виджета (наследник Widget).
args – Позиционные аргументы для конструктора виджета.
kwargs – Именованные аргументы для конструктора виджета.
- Результат:
Созданный экземпляр виджета.
- build() <MagicMock name='mock.CTkFrame' id='140416972239120'>[исходный код]¶
Строит базовый контейнерный фрейм. Может быть переопределен в дочерних классах (например, для настройки бордеров или цвета).
- destroy() None[исходный код]¶
Каскадно уничтожает сам контейнер и все вложенные в него дочерние виджеты, полностью очищая оперативную память.
- remove_widget(widget: W) Self[исходный код]¶
Удаляет виджет из контейнера и уничтожает его ресурсы.
- Параметры:
widget – Экземпляр уничтожаемого виджета.