Tutorial de Tkinter - Radiobutton

Jinku Hu 30 enero 2023
  1. Ejemplo básico de Tkinter Radiobutton
  2. Tkinter Radiobutton - Obtener valor
  3. Cambiar Tkinter Indicador de Radiobotón Tipo
  4. Función de devolución de llamada del botón de radio Bind Tkinter
Tutorial de Tkinter - Radiobutton

Ha aprendido label, button y Checkbutton en las últimas secciones. Los widgets de Tkinter tienen opciones, propiedades o métodos bastante similares, por lo que a partir de esta sección, podríamos aprender a un ritmo rápido.

El Radiobuton es un botón de muchos tipos. Tiene más de una opción en la selección, pero el usuario sólo puede seleccionar una de ellas. Al igual que los widgets introducidos anteriormente, Radibutton puede contener texto o imagen y puede vincular la función o método de devolución de llamada a él. Esta función de devolución de llamada se dispara automáticamente cuando se presiona el botón.

Ejemplo básico de Tkinter Radiobutton

import tkinter as tk

app = tk.Tk()
app.geometry("150x100")

radioValue = tk.IntVar()


rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=1)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=2)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=3)

rdioOne.grid(column=0, row=0)
rdioTwo.grid(column=0, row=1)
rdioThree.grid(column=0, row=2)

app.mainloop()

El resultado de la demostración básica de Radiobutton es el siguiente

Ejemplo básico del botón de control Tkinter

radioValue = tk.IntVar()

Al igual que el botón de verificación, los botones de radio necesitan asociar valores de un tipo de datos particular con ellos.

rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=1)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=2)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=3)

Aquí se crean botones con el texto de January, February y March. Los botones de radio en el mismo grupo deben y deben tener valores únicos.

Pregunta
¿Y si tienen valores duplicados?

Tkinter Radiobutton - Obtener valor

Los botones de radio del mismo grupo comparten la misma variable, radioValue, como se muestra en el ejemplo anterior, y se les asignan valores diferentes con la opción value.

El valor del botón de radio seleccionado actualiza automáticamente la variable radioValue que es un tk.IntVar.

El texto de la etiqueta refleja automáticamente el valor del botón seleccionado en los códigos de ejemplo siguientes.

import tkinter as tk

app = tk.Tk()
app.geometry("200x100")

radioValue = tk.IntVar()


rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=0)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=1)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=2)


rdioOne.grid(column=0, row=0, sticky="W")
rdioTwo.grid(column=0, row=1, sticky="W")
rdioThree.grid(column=0, row=2, sticky="W")


labelValue = tk.Label(app, textvariable=radioValue)
labelValue.grid(column=2, row=0, sticky="E", padx=40)


app.mainloop()

La textvariable de la etiqueta labelValue es la misma que la opción variable de los botones de radio, de modo que el texto de la etiqueta podría actualizarse automáticamente.

Tkinter Radiobutton_get value

Cambiar Tkinter Indicador de Radiobotón Tipo

El indicador del botón de radio por defecto es un agujero circular con un espacio en blanco en su interior, pero también se puede sustituir por un cuadro que contenga texto o imagen. El cuadro de texto se levanta cuando el botón de opción no está seleccionado, y se hunde cuando se presiona.

Tkinter Tutorial Botón de radio levantado y hundido

rdioOne = tk.Radiobutton(
    app, text="I am raised", variable=radioValue, value=1, indicatoron=0
)

indicatoron es la opción de activar o desactivar el indicador del agujero circular del botón de raido. indicatoron = indicator on.

Función de devolución de llamada del botón de radio Bind Tkinter

Es exactamente lo mismo con [Tkinter Checkbutton](/es/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Callback Function Binding) en la opción de cómo configurar la función de devolución de llamada del botón. Utilice la opción command=.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook