Desplegable
Una cabecera con una flecha que muestra u oculta content. El estado abierto es tuyo: cámbialo en on_toggle.
ui.disclosure · Categoría: Listas y menús · Referencia completa →


pz.column([ ui.disclosure("Advanced options", ui.muted("Shown while the section is open."), open=True, on_toggle=on_toggle), ui.disclosure("Environment variables", ui.muted("Hidden"), open=False, on_toggle=on_toggle, end=ui.badge("3")),], spacing=10, width=380)Cuándo usarlo
Sección titulada «Cuándo usarlo»- Para esconder opciones avanzadas o detalles hasta que hagan falta.
import pyzed as pzfrom pyzed import ui
class Form(pz.App): def __init__(self): self.advanced = False
def view(self): return ui.disclosure("Advanced options", self.advanced_options(), open=self.advanced, on_toggle=lambda: setattr(self, "advanced", not self.advanced))Variantes
Sección titulada «Variantes»

open=FalseCódigo
pz.container(ui.disclosure("Advanced options", ui.muted("…"), open=False, on_toggle=on_toggle), width=300)

open=TrueCódigo
pz.container(ui.disclosure("Advanced options", ui.muted("Shown while open."), open=True, on_toggle=on_toggle), width=300)

end=Código
pz.container(ui.disclosure("Environment", ui.muted("…"), open=False, on_toggle=on_toggle, end=ui.badge("3")), width=300)Eventos
Sección titulada «Eventos»Desplegable tiene 1 evento propios, en la tabla de abajo. Como todo widget, también tiene los 18 eventos comunes (click, double_click, right_click, mouse_enter, drag, key_down, resize…), que se conectan con .on(...): mira Eventos y Eventos de cada componente.
| Evento | El handler recibe | Cuándo |
|---|---|---|
on_toggle |
() |
Mensaje o callable al pulsar la cabecera. |
El handler recibe es lo que Pyzed le pasa a tu función: () es nada. Cualquier handler también puede ser un mensaje (un valor que no se puede llamar), que va a update().
Manejar los eventos
Sección titulada «Manejar los eventos»Los mismos eventos escritos de tres formas. Imperativa: métodos de la app que cambian self. Declarativa: los handlers producen mensajes y un único update() decide. Funcional: una función pura dibuja un estado inmutable y pide cambios con set_state(...). Mira Imperativo, declarativo y funcional.
class Form(pz.App): def __init__(self): self.advanced = False
def view(self): return ui.disclosure("Advanced options", ui.muted("Proxy, timeouts…"), open=self.advanced, on_toggle=lambda: setattr(self, "advanced", not self.advanced)) # no argumentclass Form(pz.App): advanced = False
def update(self, message): if message == "toggle advanced": self.advanced = not self.advanced
def view(self): return ui.disclosure("Advanced options", ui.muted("…"), open=self.advanced, on_toggle="toggle advanced")from dataclasses import dataclass
@dataclass(frozen=True)class State: advanced: bool = False
def view(state, set_state): return ui.disclosure("Advanced options", ui.muted("…"), open=state.advanced, on_toggle=lambda: set_state(advanced=not state.advanced))Propiedades y API
Sección titulada «Propiedades y API»ui.disclosure
Sección titulada «ui.disclosure»disclosure(title, content, *, open, on_toggle=None, end=None, theme=None)Una sección plegable: cabecera con flecha que muestra u oculta content. El estado abierto es tuyo: cámbialo en on_toggle.
| Propiedad | Por defecto | Descripción |
|---|---|---|
title |
obligatorio | Título (texto o widget). |
content |
obligatorio | Contenido. |
open |
obligatorio | Si está abierta. |
end |
None |
Widgets al final (derecha). |
theme |
None |
Tema a usar en lugar del actual (pyzed.theme.current()). |
Eventos: on_toggle (eventos).