Ir al contenido

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 →

DesplegableDesplegable
  • Para esconder opciones avanzadas o detalles hasta que hagan falta.
import pyzed as pz
from 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))
Desplegable: open=FalseDesplegable: open=False
open=False
Código
pz.container(ui.disclosure("Advanced options", ui.muted("…"), open=False, on_toggle=on_toggle), width=300)
Desplegable: open=TrueDesplegable: open=True
open=True
Código
pz.container(ui.disclosure("Advanced options", ui.muted("Shown while open."), open=True,
on_toggle=on_toggle), width=300)
Desplegable: end=Desplegable: end=
end=
Código
pz.container(ui.disclosure("Environment", ui.muted("…"), open=False, on_toggle=on_toggle,
end=ui.badge("3")), width=300)

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().

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 argument
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).

Referencia completa →