Исходный код EJIO.ctk_extender.widget.form.fields.segmented
## /ctk_extender/widget/form/fields/segmented.py
import customtkinter as ctk
from typing import Any
from ...base import Widget
from ...geometry import GeometryStrategy
from .base import InputField
__all__ = [
'FormSegmentedButton',
]
[документация]
class FormSegmentedButton(Widget, InputField):
"""Сегментированная кнопка выбора для формы (на базе ctk.CTkSegmentedButton)."""
def __init__(
self,
parent: Any,
name: str,
values: list[str],
geometry: GeometryStrategy | None = None
) -> None:
self._name: str = name
self._values: list[str] = values
super().__init__(parent, geometry)
[документация]
def build(self) -> ctk.CTkSegmentedButton:
return ctk.CTkSegmentedButton(self.parent, values=self._values)
@property
def name(self) -> str:
return self._name
[документация]
def set_value(self, value: Any) -> None:
getattr(self.ctk_instance, 'set')(str(value))
[документация]
def clear(self) -> None:
if self._values:
getattr(self.ctk_instance, 'set')(self._values[0])