En un botón de opción, solo podemos seleccionar uno de los botones, puede contener texto e imágenes, y, estar asociado a una función o método.
Veamos un ejemplo, como siempre nos traemos Tkinter, creamos una variable llamada raíz, y, le damos unas dimensiones de 200 por 200.
Creamos una variable e igualamos a la variable de control IntVar, que almacena números enteros, cuyo valor predeterminado es 0.
Creamos una variable, igualamos a Radiobutton, la colocamos en la raíz, como parámetro texto, ponemos Opcion1, usamos el parámetro variable e igualamos a la variable de control opciones, usamos el parámetro value y damos el valor 1.
Probamos y vemos el botón de comando (Radiobutton).
Repetimos la línea de boton1, las llamamos Opcion2 y opcion3, como parámetro value, ponemos 2 y 3.
Probamos y vemos los tres botones de opción, pero, desactivados.
¿Por qué aparecen los botones de control desactivados?
Cada botón de opción toma el valor de la variable de control opciones, cuyo valor predeterminado es 0, es por eso por lo que aparecen desactivados.
Creamos otra variable, igualamos a Button, como parámetro text, ponemos Reiniciar.
Creamos una variable, igualamos a Label, y, la colocamos en raíz.
Creamos una función, la llamamos mostrar, en la siguiente línea, ponemos:
Etiqueta va a vale el texto entre comillas más el valor de la variable de control opciones, donde para rescatar el valor, usamos el método get, y, ¿Por qué ponemos la variable de control encerrada entre str?, pues porque el parámetro text espera un valor de texto.
Lo siguiente es añadir al parámetro command e igualarlo a la función mostrar en los tres botones de opción.
Probemos.
Creamos otra función, la llamamos reset, y, ponemos:
Es decir, reinicia la variable de control a nada.
Vamos a boton4, añadimos el parámetro command e igualamos a reset.
En boton1, vamos a usar el parámetro activebackground, que debemos de asignar un color, entonces, cuando hagamos clic en el primer botón de opción, aparece el relleno del color asignado, pero, solo cuando hagamos clic en dicho botón de opción, después, aparece el color de la interfaz.
En boton2, vamos a agregar el parámetro activeforeground, que debemos de asignar un color, entonces, cuando hagamos clic en el segundo botón de opción, aparece el color de letra asignado, pero, solo cuando hagamos clic en dicho botón de opción, después, aparece el color de la interfaz.
Vamos a ver otro ejemplo, se trata de que vamos a tener dos etiquetas y dos cuadros de textos, también, dos botones de opción, una de suma y otro de resta, se trata de introducir un valor en cada cuadro de texto, y, al hacer clic en el botón de opción de suma, sume los resultados, y, al hacer clic en el botón de opción resta, debe de restar los resultados.
Empecemos…
Volvemos a traernos Tkinter y creamos la variable raíz, damos unas dimensiones de 250 por 150, y, le damos el nombre de operaciones matemáticas.
Creamos tres variables de control, a las dos primeras le asignamos DoubleVar, y, a la última, le asignamos IntVar.
Creamos una etiqueta, la colocamos en la raíz, como parámetro text, ponemos Valor 1, en este caso, vamos a usar place, como parámetro x ponemos 10, y, como parámetro y, ponemos 10.
Creamos otra etiqueta, como parámetro x, ponemos 10, y, como parámetro y, ponemos 40.
Creamos un cuadro de texto, lo colocamos en la raíz, usamos el parámetro textvariable, e, igualamos a la variable de control valor1, como parámetro x, ponemos 60, como parámetro y, ponemos 10, como parámetro width, ponemos 30.
Creamos otro cuadro de texto, como parámetro textvariable, igualamos a valor2, como parámetro x, ponemos 60, como parámetro y, ponemos 40, como parámetro width, ponemos 30.
Probemos.
Creamos un botón de opción, lo colocamos en la raíz, como parámetro text, ponemos Suma, como parámetro value, ponemos 1, como parámetro variable, ponemos la variable de control opciones, usamos el parámetro y de place a 70.
Creamos otro botón de opción, la configuración es la misma que para el primer botón de opción, pero, cambiamos text por resta, y, como value ponemos 2.
Probemos.
Vamos a boton1, añadimos el parámetro activebackground y ponemos el color Blue.
Vamos a boton2, añadimos el parámetro activebackground y ponemos el color Red.
Añadimos un módulo, ponemos la variable valor1 e igualamos al valor del cuadro de texto entrada1, añadimos la variable valor2 e igualamos al valor del cuadro de texto entrada2.
Usamos if, preguntamos si el valor de la variable de control opciones es igual a 1, en ese caso, en una variable llamada opción, sumamos las variables de control valor1 y valor2 en float.
Ponemos otro if, preguntamos si el valor de la variable de control opciones es igual a 2, en ese caso, restamos las variables de control valor1 y valor2.
Configuramos etiqueta para que imprima lo siguiente.
Vamos a boton1, y, boton2, añadimos el argumento command e igualamos a la función mostrar.
Pues, ya podemos probar.
Miguel Angel Franco
Comments