Ir al contenido

Insignia

Una pastilla pequeña con texto y un icono opcional. tint elige un color semántico y variant es "soft" (por defecto), "solid" o "outline".

ui.badge · Categoría: Visualización · Referencia completa →

InsigniaInsignia
  • Para estados cortos de solo lectura: beta, M (modificado), v0.4, 3 errores.
  • Para un número redondo encima de un icono usa Contador.
import pyzed as pz
from pyzed import ui
pz.row([
ui.badge("accent"),
ui.badge("success", tint="success"),
ui.badge("warning", tint="warning"),
ui.badge("error", tint="error", icon="circle-x"),
], spacing=8)
Insignia: tint="accent"Insignia: tint="accent"
tint="accent"
Código
ui.badge("accent")
Insignia: tint="success"Insignia: tint="success"
tint="success"
Código
ui.badge("passed", tint="success")
Insignia: tint="warning"Insignia: tint="warning"
tint="warning"
Código
ui.badge("pending", tint="warning")
Insignia: tint="error"Insignia: tint="error"
tint="error"
Código
ui.badge("failed", tint="error")
Insignia: tint="info"Insignia: tint="info"
tint="info"
Código
ui.badge("info", tint="info")
Insignia: tint="#c678dd"Insignia: tint="#c678dd"
tint="#c678dd"
Código
ui.badge("custom", tint="#c678dd")
Insignia: variant="soft"Insignia: variant="soft"
variant="soft"
Código
ui.badge("soft")
Insignia: variant="solid"Insignia: variant="solid"
variant="solid"
Código
ui.badge("solid", variant="solid")
Insignia: variant="outline"Insignia: variant="outline"
variant="outline"
Código
ui.badge("outline", variant="outline")
Insignia: icon="sparkles"Insignia: icon="sparkles"
icon="sparkles"
Código
ui.badge("new", icon="sparkles")
Insignia: icon="circle-x"Insignia: icon="circle-x"
icon="circle-x"
Código
ui.badge("3 errors", tint="error", icon="circle-x")
Insignia: variant="solid", icon=Insignia: variant="solid", icon=
variant="solid", icon=
Código
ui.badge("verified", tint="success", variant="solid", icon="check")
Insignia: size="sm"Insignia: size="sm"
size="sm"
Código
ui.badge("beta", size="sm")
Insignia: size="lg"Insignia: size="lg"
size="lg"
Código
ui.badge("Pro", size="lg", icon="star")
Insignia: on_press=Insignia: on_press=
on_press=
Código
ui.badge("3 issues", tint="warning", on_press=on_press)

Insignia 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_press () La hace pulsable.

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 Inbox(pz.App):
def __init__(self):
self.unread = 3
def view(self):
return ui.badge(f"{self.unread} new", tint="accent",
on_press=lambda: setattr(self, "unread", 0)) # on_press makes it clickable
badge(
content,
*,
tint='accent',
variant='soft',
icon=None,
size='md',
on_press=None,
theme=None,
)

Una píldora pequeña para estados y contadores.

Propiedad Por defecto Descripción
content obligatorio Contenido: un Widget, un texto o un número (se convierte en texto).
tint "accent" Color semántico: "accent", "error", "warning", "success", "info" o un token.
variant "soft" "soft", "solid" o "outline".
icon None Nombre de un icono de Lucide (pyzed icons los lista).
size "md" "sm", "md" o "lg".
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_press (eventos).

Referencia completa →