Исходный код EJIO.ctk_extender.layout.base

## /ctk_extender/layout/base.py

import customtkinter as ctk
from typing import Any
from ..widget import WidgetContainer, GeometryStrategy, PackStrategy

__all__ = [
    'Layout',
]


[документация] class Layout(WidgetContainer): """ Базовый класс для экранов (страниц) приложения. Изолирован от базовых виджетов и управляется навигационным стеком окна. """ def __init__( self, parent: ctk.CTk | ctk.CTkToplevel | Any, geometry: GeometryStrategy | None = None ) -> None: default_geometry = geometry or PackStrategy(fill="both", expand=True) super().__init__(parent, default_geometry)
[документация] def build(self) -> ctk.CTkFrame: return ctk.CTkFrame(self.parent, fg_color="transparent", corner_radius=0, border_width=0)
[документация] def on_show(self) -> None: """Хук жизненного цикла: макет выведен на экран (стал активным).""" pass
[документация] def on_hide(self) -> None: """Хук жизненного цикла: макет скрыт (ушел вглубь стека или закрывается).""" pass
[документация] def destroy(self) -> None: self.on_hide() super().destroy()