Ir al contenido

Botón de icono

Un botón cuadrado y compacto que muestra un icono de Lucide. Es transparente por defecto, así que encaja en barras de herramientas, cabeceras de panel y barras de pestañas. tooltip= añade un tooltip al pasar el ratón.

ui.icon_button · Categoría: Acciones · Referencia completa →

Botón de iconoBotón de icono
  • Para acciones frecuentes con un icono evidente (buscar, ajustes, cerrar, añadir).
  • Dale siempre un tooltip cuando el icono solo pueda ser ambiguo.
  • selected=True muestra un estado activo (un panel abierto, un filtro activado).
import pyzed as pz
from pyzed import ui
pz.row([
ui.icon_button("search", on_search, tooltip="Search"),
ui.icon_button("settings", on_settings, tooltip="Settings"),
ui.icon_button("bell", on_notifications, selected=True),
ui.icon_button("plus", on_new, variant="filled"),
], spacing=6)
Botón de icono: size="xs"Botón de icono: size="xs"
size="xs"
Código
ui.icon_button("star", on_press, size="xs")
Botón de icono: size="sm"Botón de icono: size="sm"
size="sm"
Código
ui.icon_button("star", on_press, size="sm")
Botón de icono: size="md"Botón de icono: size="md"
size="md"
Código
ui.icon_button("star", on_press, size="md")
Botón de icono: size="lg"Botón de icono: size="lg"
size="lg"
Código
ui.icon_button("star", on_press, size="lg")
Botón de icono: variant="ghost"Botón de icono: variant="ghost"
variant="ghost"
Código
ui.icon_button("settings", on_press)
Botón de icono: variant="filled"Botón de icono: variant="filled"
variant="filled"
Código
ui.icon_button("settings", on_press, variant="filled")
Botón de icono: variant="outline"Botón de icono: variant="outline"
variant="outline"
Código
ui.icon_button("settings", on_press, variant="outline")
Botón de icono: variant="solid"Botón de icono: variant="solid"
variant="solid"
Código
ui.icon_button("settings", on_press, variant="solid")
Botón de icono: variant="tinted"Botón de icono: variant="tinted"
variant="tinted"
Código
ui.icon_button("settings", on_press, variant="tinted")
Botón de icono: color="accent"Botón de icono: color="accent"
color="accent"
Código
ui.icon_button("sparkles", on_press, color="accent")
Botón de icono: color="success"Botón de icono: color="success"
color="success"
Código
ui.icon_button("circle-check", on_press, color="success")
Botón de icono: color="warning"Botón de icono: color="warning"
color="warning"
Código
ui.icon_button("triangle-alert", on_press, color="warning")
Botón de icono: color="error"Botón de icono: color="error"
color="error"
Código
ui.icon_button("trash-2", on_press, color="error", variant="outline")

Dibujado tal como lo muestra el puntero: los tooltips solo se abren al pasar el ratón.

Botón de icono: selected=TrueBotón de icono: selected=True
selected=True
Código
ui.icon_button("panel-left", on_press, selected=True)
Botón de icono: disabled=TrueBotón de icono: disabled=True
disabled=True
Código
ui.icon_button("lock", on_press, disabled=True)
Botón de icono: tooltip="Search"Botón de icono: tooltip="Search"
tooltip="Search"
Código
ui.icon_button("search", on_press, tooltip="Search")
Botón de icono: indicator="accent"Botón de icono: indicator="accent"
indicator="accent"
Código
ui.icon_button("bell", on_press, indicator="accent")
Botón de icono: tint="error"Botón de icono: tint="error"
tint="error"
Código
ui.icon_button("trash-2", on_press, tint="error")
Botón de icono: loading=TrueBotón de icono: loading=True
loading=True
Código
ui.icon_button("refresh-cw", on_press, loading=True)
Botón de icono: keys=Botón de icono: keys=
keys=
Código
ui.icon_button("search", on_press, tooltip="Search", keys="ctrl-f")

Botón de icono 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 () Mensaje o callable que se envía al pulsar. None deshabilita el control.

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 Toolbar(pz.App):
def __init__(self):
self.bold = False
def toggle_bold(self):
self.bold = not self.bold
def view(self):
return pz.row([
ui.icon_button("bold", self.toggle_bold, selected=self.bold, tooltip="Bold", keys="ctrl-b"),
ui.icon_button("trash-2", self.clear, tooltip="Clear", disabled=not self.bold),
], spacing=4)
def clear(self):
self.bold = False
icon_button(
name,
on_press=None,
*,
size='md',
variant='ghost',
color=None,
selected=False,
disabled=False,
tooltip=None,
keys=None,
tint=None,
loading=False,
indicator=None,
theme=None,
)

Un botón cuadrado con solo un icono.

Propiedad Por defecto Descripción
name obligatorio Nombre del icono.
size "md" "xs", "sm", "md" o "lg".
variant "ghost" Como en ui.button. Por defecto "ghost".
color None Color del icono.
selected False Lo marca como seleccionado.
disabled False Lo deshabilita (ignora los clics).
tooltip None Texto del tooltip.
keys None Atajo que se muestra en el tooltip.
tint None Lo colorea ("error", "accent"…).
loading False Cambia el icono por un spinner e ignora las pulsaciones.
indicator None Añade un punto de este color arriba a la derecha (sin leer, cambios…).
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_press (eventos).

Referencia completa →