Ir al contenido

Responsivo

Llama a function(width, height) con el espacio que recibe de verdad y muestra lo que devuelve, así la disposición se adapta: ocultar una barra lateral si la ventana es estrecha, cambiar el número de columnas…

pz.responsive · Categoría: Disposición · Referencia completa →

ResponsivoResponsivo
  • Para disposiciones que deben funcionar en una ventana pequeña y en una grande.
import pyzed as pz
from pyzed import ui
box = lambda text, w=90, h=44: pz.container(ui.label(text), center=True, width=w, height=h, bg=pz.theme.current().element, radius=6)
pz.container(pz.responsive(lambda w, h: pz.center(pz.column([
ui.muted(f"{w:.0f} × {h:.0f} px available"),
pz.row([box("1"), box("2"), box("3"), box("4")], spacing=8) if w > 400 else
pz.column([box("1"), box("2")], spacing=8),
], spacing=10, align="center"))), width=480, height=150)

El mismo código con dos anchos: la disposición cambia sola.

Responsivo: width=200Responsivo: width=200
width=200
Código
box = lambda text, w=90, h=44: pz.container(ui.label(text), center=True, width=w, height=h, bg=pz.theme.current().element, radius=6)
pz.container(pz.responsive(lambda w, h: pz.row([box("1"), box("2"), box("3")], spacing=8)
if w > 300 else pz.column([box("1"), box("2")], spacing=8)), width=200, height=110)
Responsivo: width=400Responsivo: width=400
width=400
Código
box = lambda text, w=90, h=44: pz.container(ui.label(text), center=True, width=w, height=h, bg=pz.theme.current().element, radius=6)
pz.container(pz.responsive(lambda w, h: pz.row([box("1"), box("2"), box("3")], spacing=8)
if w > 300 else pz.column([box("1"), box("2")], spacing=8)), width=400, height=60)

Responsivo no tiene eventos propios: muestra lo que le das. 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.

responsive(function)

Construye su contenido con function(ancho, alto) usando el espacio realmente disponible, para que el layout se adapte (por ejemplo, ocultar una barra lateral si la ventana es estrecha).

Propiedad Por defecto Descripción
function obligatorio Función que recibe (ancho, alto) y devuelve un widget.

Referencia completa →