Propiedades animables
Una animación cambia una o varias propiedades de un widget. Los mismos nombres sirven en todas
partes: en animate(), transition(), los keyframes de pz.Animation y las pistas de una línea de
tiempo.

| Propiedad | Valores | Notas |
|---|---|---|
opacity |
De 0 (invisible) a 1. |
Desvanece el widget y todo lo que contiene. |
x, y |
Píxeles, o "50%" del tamaño del propio widget. |
Lo mueve sin mover a sus vecinos. |
scale |
Un número: 1 es su tamaño, 0.5 la mitad, 1.2 una quinta parte más grande. |
Alrededor de su centro. |
rotate |
Grados en sentido horario, o "0.25turn", "1.5rad", "90deg". |
Alrededor de su centro. |
blur |
Píxeles. | Desenfoca el widget y todo lo que contiene. |
background, border_color, color, glow_color |
"#rrggbb", "#rrggbbaa" o un token del tema ("accent", "elevated"…). |
Los colores se mezclan con suavidad. color cambia el texto de dentro. |
radius, border_width, glow |
Píxeles. | glow es el tamaño del halo alrededor de la caja. |
width, height |
Píxeles. | Cambian el layout: los widgets de alrededor se mueven. |
padding |
Píxeles. | Dentro de un contenedor o botón (los cuatro lados lo siguen); en otros widgets añade espacio alrededor. Cambia el layout. |
font_size |
Píxeles. | Todos los textos de dentro. Cambia el layout. |
pz.animation.PROPERTIES las enumera en código.
Valores de propiedades como animación
Sección titulada «Valores de propiedades como animación»Sin preset, los valores que pasas son la animación. Lo que significan depende del disparador:
| Disparador | El widget… |
|---|---|
mount |
parte de esos valores y termina en su aspecto propio: animate(opacity=0, y=12) aparece desde abajo. |
hover, press, focus, active |
va hacia esos valores mientras se cumple la condición, y vuelve después. |
click |
va hacia esos valores y vuelve, en cada clic. |
pz.text("Hola").animate(opacity=0, y=12, duration=250) # aparece desde abajotarjeta.animate(on="hover", scale=1.03, background="elevated") # crece y se aclara en hoverboton.animate(on="press", scale=0.96, duration=90) # se hunde al pulsaricono.animate(on="click", rotate=360, duration=500) # una vuelta completa en cada clicLa duración por defecto es de 300 ms para mount y click, y de 150 ms para hover, press y focus.
Valores que vienen del widget
Sección titulada «Valores que vienen del widget»Una propiedad que no das al principio o al final de una animación va desde o hacia el valor propio del widget. Así, una animación puede cambiar el fondo de cualquier botón sin saber su color:
destello = pz.Animation({"50%": {"background": "#fbbf24"}}, duration=400) # a amarillo y vueltaPor eso una animación de mount puede terminar en “el aspecto propio del widget”: el último
fotograma deja fuera la propiedad.
Más ejemplos
Sección titulada «Más ejemplos»icono.animate("spin") # un indicador de cargatarjeta.animate(on="hover", rotate=-3, scale=1.02) # se inclina en hoverlateral.transition(width=240 if self.abierto else 56, duration=200) # el contenido de al lado se recolocatitulo.transition(font_size=28 if self.grande else 16)estado.animate(on="active", active=self.en_linea, background="#14532d", border_color="#22c55e")