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
Submodules¶
EJIO.ctk_extender.widget.form.base module¶
- class EJIO.ctk_extender.widget.form.base.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.
EJIO.ctk_extender.widget.form.events module¶
- class EJIO.ctk_extender.widget.form.events.FormReadyEvent(target_form: Any)[исходный код]¶
Базовые классы:
EventСобытие-ответ, сообщающее форме, что её обработка завершена и она может принимать новые клики.
- property target_form: Any¶
- class EJIO.ctk_extender.widget.form.events.FormSubmittedEvent(sender: Any, data: dict[str, Any])[исходный код]¶
Базовые классы:
EventСобытие, возникающее при успешной валидации и отправке формы.
- property data: dict[str, Any]¶
- class EJIO.ctk_extender.widget.form.events.FormValidationErrorEvent(sender: Any, errors: dict[str, str])[исходный код]¶
Базовые классы:
EventСобытие, возникающее, если форма не прошла валидацию.
- property errors: dict[str, str]¶
Module contents¶
- class EJIO.ctk_extender.widget.form.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.form.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.form.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.form.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.form.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.form.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.form.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.form.FormReadyEvent(target_form: Any)[исходный код]¶
Базовые классы:
EventСобытие-ответ, сообщающее форме, что её обработка завершена и она может принимать новые клики.
- property target_form: Any¶
- class EJIO.ctk_extender.widget.form.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.form.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.form.FormSubmittedEvent(sender: Any, data: dict[str, Any])[исходный код]¶
Базовые классы:
EventСобытие, возникающее при успешной валидации и отправке формы.
- property data: dict[str, Any]¶
- class EJIO.ctk_extender.widget.form.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.form.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.form.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.form.FormValidationErrorEvent(sender: Any, errors: dict[str, str])[исходный код]¶
Базовые классы:
EventСобытие, возникающее, если форма не прошла валидацию.
- property errors: dict[str, str]¶
- class EJIO.ctk_extender.widget.form.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.