Ir al contenido

Grupo de radios

Un conjunto de botones de radio con una opción elegida. options son cadenas o pares (valor, etiqueta); on_select recibe el valor. horizontal=True los coloca en fila.

ui.radio_group · Categoría: Formularios · Referencia completa →

Grupo de radiosGrupo de radios
  • Cuando cada opción necesita su etiqueta y conviene verlas todas (indentación: espacios o tabuladores).
  • Para muchas opciones usa un Select.
import pyzed as pz
from pyzed import ui
class Settings(pz.App):
def __init__(self):
self.indent = "spaces"
def view(self):
return ui.radio_group([("spaces", "Spaces"), ("tabs", "Tabs")], self.indent,
lambda value: setattr(self, "indent", value))
Grupo de radios: VerticalGrupo de radios: Vertical
Vertical
Código
ui.radio_group(["Spaces", "Tabs"], "Spaces", on_select)
Grupo de radios: horizontal=TrueGrupo de radios: horizontal=True
horizontal=True
Código
ui.radio_group(["LF", "CRLF", "CR"], "LF", on_select, horizontal=True)
Grupo de radios: spacing=16Grupo de radios: spacing=16
spacing=16
Código
ui.radio_group(["Small", "Medium", "Large"], "Medium", on_select, horizontal=True, spacing=16)
Grupo de radios: Pares (valor, etiqueta)Grupo de radios: Pares (valor, etiqueta)
Pares (valor, etiqueta)
Código
ui.radio_group([("lf", "Unix (LF)"), ("crlf", "Windows (CRLF)")], "crlf", on_select)
Grupo de radios: Nada elegidoGrupo de radios: Nada elegido
Nada elegido
Código
ui.radio_group(["Yes", "No"], None, on_select, horizontal=True)
Grupo de radios: disabled={"CR"}Grupo de radios: disabled={"CR"}
disabled={"CR"}
Código
ui.radio_group(["LF", "CRLF", "CR"], "LF", on_select, horizontal=True, disabled={"CR"})
Grupo de radios: descriptions=Grupo de radios: descriptions=
descriptions=
Código
ui.radio_group(["Spaces", "Tabs"], "Spaces", on_select,
descriptions={"Spaces": "Indent with 4 spaces", "Tabs": "One tab per level"})

El widget pz.* de debajo: sin tema, todos los colores y tamaños son tuyos.

Grupo de radios: pz.radioGrupo de radios: pz.radio
pz.radio
Código
pz.row([pz.radio("Cats", True, on_select, accent="#e5c07b"),
pz.radio("Dogs", False, on_select, accent="#e5c07b")], spacing=16)

Grupo de radios 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 De El handler recibe Cuándo
on_select ui.radio_group, pz.radio (value) Callable que recibe el valor 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 Settings(pz.App):
def __init__(self):
self.indent = "spaces"
def set_indent(self, value): # on_select gets the value, not the label
self.indent = value
def view(self):
return ui.radio_group([("spaces", "Spaces"), ("tabs", "Tabs")], self.indent, self.set_indent)
radio_group(
options,
selected,
on_select=None,
*,
horizontal=False,
spacing=8,
disabled=False,
descriptions=None,
id=None,
theme=None,
)

Opciones mutuamente excluyentes como botones de radio.

Propiedad Por defecto Descripción
options obligatorio Textos o pares (valor, etiqueta).
selected obligatorio Valor actual.
horizontal False En fila en lugar de columna.
spacing 8 Separación entre hijos, en píxeles.
disabled False True, o los valores a desactivar.
descriptions None Asocia valores a una línea atenuada bajo su etiqueta.
id None Identificador estable para enfocarlo o desplazarlo con un Command.
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_select (eventos).

Referencia completa →

radio(
label,
selected,
on_select=None,
*,
size=None,
text_size=None,
spacing=None,
accent=None,
bg=None,
border_color=None,
color=None,
)

Un botón de radio. Agrupa varios tú mismo (o usa ui.radio_group); on_select se envía al pulsarlo.

Propiedad Por defecto Descripción
label obligatorio Texto de la etiqueta.
selected obligatorio Si está marcado.
size None Tamaño.
text_size None Tamaño del texto.
spacing None Separación entre el círculo y el texto.
accent None Color de acento (parte activa).
bg None Color de fondo ("#rrggbb[aa]", (r, g, b[, a]) o "transparent").
border_color None Color del borde.
color None Color del texto o del icono.

Eventos: on_select (eventos).

Referencia completa →