Ir al contenido

Aviso

Un aviso en línea (un callout o banner): un icono, un título, una descripción opcional, botones de acción y un botón de cerrar con on_dismiss. tint es "info" (por defecto), "success", "warning", "error" o cualquier token del tema.

ui.callout · Categoría: Estado y avisos · Referencia completa →

AvisoAviso
  • Para mensajes que pertenecen a un lugar de la interfaz: un archivo de solo lectura, una versión nueva, una sincronización fallida.
  • Para mensajes pasajeros, usa una Notificación.
import pyzed as pz
from pyzed import ui
pz.column([
ui.callout("A new version is out", "Pyzed 0.4 adds the component designer.", tint="info",
actions=[ui.button("What's new", on_open, size="sm")], on_dismiss=on_dismiss),
ui.callout("Could not save", "The file is read-only.", tint="error"),
], spacing=10, width=520)

Cada tinte elige un icono acorde; icon= elige otro.

Aviso: tint="info"Aviso: tint="info"
tint="info"
Código
pz.container(ui.callout("Heads up", "Pyzed 0.5 is out."), width=380)
Aviso: tint="success"Aviso: tint="success"
tint="success"
Código
pz.container(ui.callout("Synced", "All changes are saved.", tint="success"), width=380)
Aviso: tint="warning"Aviso: tint="warning"
tint="warning"
Código
pz.container(ui.callout("Unsaved changes", "Save before closing.", tint="warning"), width=380)
Aviso: tint="error"Aviso: tint="error"
tint="error"
Código
pz.container(ui.callout("Could not save", "The file is read-only.", tint="error"), width=380)
Aviso: tint="accent"Aviso: tint="accent"
tint="accent"
Código
pz.container(ui.callout("Tip", "Ctrl+Shift+P opens the palette.", tint="accent", icon="lightbulb"), width=380)
Aviso: Solo títuloAviso: Solo título
Solo título
Código
pz.container(ui.callout("Read-only file"), width=380)
Aviso: actions=Aviso: actions=
actions=
Código
pz.container(ui.callout("A new version is out", "Restart to update.",
actions=[ui.button("Restart", on_restart, size="sm")]), width=380)
Aviso: on_dismiss=Aviso: on_dismiss=
on_dismiss=
Código
pz.container(ui.callout("Welcome!", "Open a folder to start.", on_dismiss=on_dismiss), width=380)

Aviso 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_dismiss () Añade un botón de cerrar.

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 Updates(pz.App):
def __init__(self):
self.visible = True
def view(self):
if not self.visible:
return ui.muted("No news.")
return ui.callout("A new version is out", "Pyzed adds the component designer.", tint="info",
on_dismiss=lambda: setattr(self, "visible", False)) # adds the ✕
callout(
title,
description=None,
*,
tint='info',
icon=None,
actions=(),
on_dismiss=None,
theme=None,
)

Un aviso en línea (un callout o banner).

Propiedad Por defecto Descripción
title obligatorio Título (texto o widget).
description None Texto secundario.
tint "info" "info", "success", "warning", "error" o "hint": elige el color y el icono.
icon None Nombre de un icono de Lucide (pyzed icons los lista).
actions () Widgets extra (normalmente botones) que se muestran como acciones.
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_dismiss (eventos).

Referencia completa →