Ir al contenido

Notificación

ui.toast dibuja una notificación con título, mensaje, acciones y botón de cerrar; kind es "info", "success", "warning" o "error". ui.toasts(base, items) las apila en la esquina inferior derecha encima de tu vista.

ui.toast · Categoría: Capas flotantes · Referencia completa →

NotificaciónNotificación
  • Para confirmar algo que pasó en segundo plano (guardado, copiado, conectado).
  • Los mensajes que necesitan respuesta van en un Diálogo.
import pyzed as pz
from pyzed import ui
import threading
class Notes(pz.App):
def __init__(self):
self.messages = []
def notify(self, title):
self.messages.append(title)
threading.Timer(3, pz.post, args=(("expire", title),)).start() # hide it after 3 s
def update(self, message):
if message[0] == "expire":
self.messages.remove(message[1])
def view(self):
items = [ui.toast(m, kind="success", on_dismiss=lambda m=m: self.messages.remove(m))
for m in self.messages]
return ui.toasts(self.main_view(), items)
Notificación: kind="info"Notificación: kind="info"
kind="info"
Código
ui.toast("Update available", "Pyzed 0.5 is on PyPI.")
Notificación: kind="success"Notificación: kind="success"
kind="success"
Código
ui.toast("Saved", "main.py was saved.", kind="success")
Notificación: kind="warning"Notificación: kind="warning"
kind="warning"
Código
ui.toast("Low disk space", "2 GB left.", kind="warning")
Notificación: kind="error"Notificación: kind="error"
kind="error"
Código
ui.toast("Could not connect", "Check your network.", kind="error")
Notificación: Solo títuloNotificación: Solo título
Solo título
Código
ui.toast("Copied to clipboard", kind="success")
Notificación: actions=, on_dismiss=Notificación: actions=, on_dismiss=
actions=, on_dismiss=
Código
ui.toast("Update available", "Restart to install it.",
actions=[ui.button("Restart", on_restart, size="sm")], on_dismiss=on_dismiss)
Notificación: icon="music"Notificación: icon="music"
icon="music"
Código
ui.toast("Now playing", "Lo-fi beats", icon="music", width=280)
Notificación: progress=0.6Notificación: progress=0.6
progress=0.6
Código
ui.toast("Uploading", "notes.md", kind="info", progress=0.6, on_dismiss=on_close)
Notificación: on_press=Notificación: on_press=
on_press=
Código
ui.toast("Build failed", "Click to see the log", kind="error", on_press=on_press)

Notificación tiene 2 eventos 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 () Mensaje o callable que se envía al cerrar.
on_press () Hace pulsable la tarjeta.

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 Notes(pz.App):
def __init__(self):
self.messages = ["Saved"]
self.opened = 0
def view(self):
items = [ui.toast(m, kind="success",
on_dismiss=lambda m=m: self.messages.remove(m), # its ✕
on_press=lambda: setattr(self, "opened", self.opened + 1)) # the card
for m in self.messages]
return ui.toasts(main_view(), items)
toast(
title,
message=None,
*,
kind='info',
icon=None,
on_dismiss=None,
actions=(),
width=340,
progress=None,
on_press=None,
theme=None,
)

Una notificación.

Propiedad Por defecto Descripción
title obligatorio Título.
message None Texto secundario.
kind "info" "info", "success", "warning" o "error".
icon None Nombre de un icono de Lucide (pyzed icons los lista).
actions () Widgets extra (normalmente botones) que se muestran como acciones.
width 340 Ancho: píxeles, "fill", "shrink" o "fill:N" (proporción).
progress None De 0 a 1: una barra fina abajo (tiempo restante, una descarga).
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_dismiss, on_press (eventos).

Referencia completa →

toasts(base, items, *, spacing=8)

Muestra items (normalmente toast(...)) apilados en la esquina inferior derecha sobre base.

Propiedad Por defecto Descripción
base obligatorio La interfaz de debajo.
items obligatorio Lista de toasts.
spacing 8 Separación entre hijos, en píxeles.

Referencia completa →