Ir al contenido

Grupo de alternancia

Una fila de botones de icono en la que hay exactamente uno seleccionado, como la alineación del texto en un editor. options son pares (valor, icono) y on_select recibe el valor elegido.

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

Grupo de alternanciaGrupo de alternancia
  • Para un conjunto pequeño de modos excluyentes con iconos claros.
  • Con etiquetas de texto, usa Segmentado.
import pyzed as pz
from pyzed import ui
class Toolbar(pz.App):
def __init__(self):
self.align = "left"
def view(self):
return ui.toggle_group(
[("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
self.align, lambda value: setattr(self, "align", value),
)
Grupo de alternancia: Dos opcionesGrupo de alternancia: Dos opciones
Dos opciones
Código
ui.toggle_group([("list", "list"), ("grid", "layout-grid")], "list", on_select)
Grupo de alternancia: Tres opcionesGrupo de alternancia: Tres opciones
Tres opciones
Código
ui.toggle_group([("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
"center", on_select)
Grupo de alternancia: Cuatro opcionesGrupo de alternancia: Cuatro opciones
Cuatro opciones
Código
ui.toggle_group([("b", "bold"), ("i", "italic"), ("u", "underline"), ("s", "strikethrough")],
"b", on_select)
Grupo de alternancia: selected="left"Grupo de alternancia: selected="left"
selected="left"
Código
ui.toggle_group([("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
"left", on_select)
Grupo de alternancia: selected="right"Grupo de alternancia: selected="right"
selected="right"
Código
ui.toggle_group([("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
"right", on_select)
Grupo de alternancia: selected=NoneGrupo de alternancia: selected=None
selected=None
Código
ui.toggle_group([("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
None, on_select)

Un tercer elemento en una opción añade un tooltip: (valor, icono, tooltip).

Grupo de alternancia: multiple=TrueGrupo de alternancia: multiple=True
multiple=True
Código
ui.toggle_group([("b", "bold"), ("i", "italic"), ("u", "underline")], {"b", "u"}, on_select, multiple=True)
Grupo de alternancia: disabled={"right"}Grupo de alternancia: disabled={"right"}
disabled={"right"}
Código
ui.toggle_group([("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
"left", on_select, disabled={"right"})

Grupo de alternancia 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_select (value) Callable que recibe el elemento elegido.

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.align = "left"
def set_align(self, value): # on_select gets the value of the pressed option
self.align = value
def view(self):
return ui.toggle_group([("left", "align-left"), ("center", "align-center"), ("right", "align-right")],
self.align, self.set_align)
toggle_group(
options,
selected,
on_select=None,
*,
disabled=False,
multiple=False,
theme=None,
)

Un control segmentado solo con iconos.

Propiedad Por defecto Descripción
options obligatorio (valor, nombre_de_icono) o (valor, nombre_de_icono, tooltip).
selected obligatorio Valor actual (una colección con multiple).
disabled False True, o los valores a desactivar.
multiple False Cada botón activa o desactiva su valor.
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_select (eventos).

Referencia completa →