Ir al contenido

Tarjeta

Una superficie redondeada con borde que agrupa contenido. title y actions añaden una fila de cabecera; padding y width controlan su caja.

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

TarjetaTarjeta
  • Para agrupar contenido relacionado: un resumen, una sección de formulario, un panel de un dashboard.
  • Para un diálogo encima de la interfaz usa Modal.
import pyzed as pz
from pyzed import ui
ui.card(
pz.column([
ui.muted("Pyzed draws the UI with Iced, in Rust."),
pz.row([pz.hspace(), ui.button("Cancel", on_cancel, variant="ghost"),
ui.button("OK", on_ok, variant="solid")], spacing=8),
], spacing=12),
title="Card",
actions=[ui.icon_button("ellipsis", on_menu, size="sm")],
width=380,
)
Tarjeta: Solo contenidoTarjeta: Solo contenido
Solo contenido
Código
ui.card(ui.muted("A bordered surface."), width=260)
Tarjeta: title=Tarjeta: title=
title=
Código
ui.card(ui.muted("Three files changed."), title="Changes", width=260)
Tarjeta: title=, actions=Tarjeta: title=, actions=
title=, actions=
Código
ui.card(ui.muted("Three files changed."), title="Changes",
actions=[ui.icon_button("ellipsis", on_menu, size="sm")], width=260)
Tarjeta: padding=8Tarjeta: padding=8
padding=8
Código
ui.card(ui.label("Compact"), padding=8)
Tarjeta: padding=16Tarjeta: padding=16
padding=16
Código
ui.card(ui.label("Default"))
Tarjeta: padding=28Tarjeta: padding=28
padding=28
Código
ui.card(ui.label("Roomy"), padding=28)
Tarjeta: selected=TrueTarjeta: selected=True
selected=True
Código
ui.card(ui.muted("Python app with a window"), title="Desktop app", on_press=on_press,
selected=True, width=260)
Tarjeta: footer=, elevated=TrueTarjeta: footer=, elevated=True
footer=, elevated=True
Código
ui.card(ui.muted("3 files changed"), title="Commit", footer=[ui.button("Push", on_press)],
elevated=True, width=260)

Tarjeta 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 () Hace pulsable toda 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 Plans(pz.App):
def __init__(self):
self.plan = "Pro"
def view(self):
return pz.row([
ui.card(ui.muted(f"Plan {name}"), title=name, width=160, selected=name == self.plan,
on_press=lambda name=name: setattr(self, "plan", name)) # the whole card
for name in ("Free", "Pro", "Team")
], spacing=8)
card(
content,
*,
title=None,
actions=(),
padding=16,
width=None,
footer=(),
on_press=None,
selected=False,
elevated=False,
theme=None,
)

Una superficie con borde para agrupar contenido, con título y acciones opcionales.

Propiedad Por defecto Descripción
content obligatorio Contenido: un Widget, un texto o un número (se convierte en texto).
title None Título.
actions () Widgets extra (normalmente botones) que se muestran como acciones.
padding 16 Relleno interior.
width None Ancho: píxeles, "fill", "shrink" o "fill:N" (proporción).
footer () Widgets abajo a la derecha (botones).
selected False La resalta con el color de acento.
elevated False Añade una sombra.
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_press (eventos).

Referencia completa →