Curso de TKINTER desde cero

¿Cómo detectar la opción de un Radiobutton de Tkinter?

Capítulo 8: Bucle autogenerador de Radiobutton() y botón de envío

En este capítulo terminamos por el momento con el tema de los Radiobutton().
Vamos a ver cómo enviar a nuestro programa la opción seleccionada en el Radiobutton() en el momento de pulsar un botón.

Voy a continuar con el código del capítulo 7. Simplemente le voy a eliminar las funciones lambda a los Radiobutton() y a ponerle una a un botón. Quedará de esta forma:

from tkinter import *
root = Tk()

x = IntVar()
x.set(value=1)

def actualiza_radio(value):
	Label(root, text=value).grid(row=3)

titulo = Label(root,text="Seleccione una opción").grid(row=0)

Radiobutton(root,
			text="Esta es la primera opción.",
			value=1,
			variable=x).grid(row=1)

Radiobutton(root,
			text="Esta es la segunda opción.",
			value=2,
			variable=x).grid(row=2)

boton_envia = Button(root,
			text="Enviar",
			command=lambda: actualiza_radio(x.get())).grid(row=4)

root.mainloop()

Con esto, se actualiza el estado de la opción seleccionada, así podemos enviar el valor correspondiente a nuestro programa al pulsar un botón.

Radiobutton Tkinter

Las variables de control de tipo StringVar de Tkinter

Veamos algo bastante interesante, las variables de control StringVar.
Estas variables pueden ser utilizadas para enviar datos de tipo string al pulsar el botón, en lugar de enviar el número de opción.

from tkinter import *
root = Tk()

def actualiza_radio(value):
	Label(root, text=value).pack()

titulo = Label(root,text="Seleccione una opción").pack()

opciones = [["Color Rojo","rojo"],
			["Color Azul","azul"],
			["Color verde","verde"],
			["Color amarillo","amarillo"]]

colores = StringVar()
colores.set("rojo")

for opcion, valor in opciones:
	Radiobutton(root, text=opcion, value=valor, variable=colores).pack()

boton_envia = Button(root,
			text="Enviar",
			command=lambda: actualiza_radio(colores.get())).pack()

root.mainloop()

El resultado es que podemos ir enviando cualquier valor de tipo string. Si utilizamos bases de datos, todo esto será muy útil.
Lo veremos en los próximos capítulos.

Radiobutton Tkinter StringVar

Comentarios

Si te quedan dudas sobre el temario, sobre Tkinter, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.