Исходный код EJIO.ctk_extender.widget.form.fields.combobox
## /ctk_extender/widget/form/fields/combobox.py
import customtkinter as ctk
from typing import Any
from ...base import Widget
from ...geometry import GeometryStrategy
from .base import InputField
__all__ = [
'FormComboBox',
]
[документация]
class FormComboBox(Widget, InputField):
"""Выпадающий список (комбобокс) для формы (на базе ctk.CTkComboBox)."""
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.CTkComboBox:
return ctk.CTkComboBox(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])