Исходный код EJIO.ctk_extender.components.scrollable_container
## /ctk_extender/components/scrollable_container.py
import customtkinter as ctk
from typing import Any
from ..widget import WidgetContainer, PackStrategy
__all__ = [
'ScrollableContainer',
]
[документация]
class ScrollableContainer(WidgetContainer):
"""
Потокобезопасный прокручиваемый контейнер.
Позволяет динамически добавлять элементы через фабрику add_widget,
автоматически управляя полосами прокрутки.
"""
__slots__ = ('_orientation', '_label_text')
def __init__(
self,
parent: Any,
geometry: Any = None,
orientation: str = "vertical",
label_text: str = "",
**kwargs: Any
) -> None:
self._orientation: str = orientation
self._label_text: str = label_text
super().__init__(parent, geometry, **kwargs) #TODO: Добавиь kwargs в widget и widget container
[документация]
def build(self) -> ctk.CTkScrollableFrame:
"""Строит нативный прокручиваемый фрейм customtkinter."""
return ctk.CTkScrollableFrame(
self.parent,
orientation=self._orientation,
label_text=self._label_text if self._label_text else None,
)