Python 3 - Botón de radio Tkinter
Este widget implementa un botón de opción múltiple, que es una forma de ofrecer muchas selecciones posibles al usuario y le permite elegir solo una de ellas.
Para implementar esta funcionalidad, cada grupo de radiobotones debe estar asociado a la misma variable y cada uno de los botones debe simbolizar un único valor. Puede usar la tecla Tab para cambiar de un botón de radio a otro.
Sintaxis
Aquí está la sintaxis simple para crear este widget:
w = Radiobutton ( master, option, ... )
Parámetros
master - Esto representa la ventana principal.
options- Aquí está la lista de opciones más utilizadas para este widget. Estas opciones se pueden utilizar como pares clave-valor separados por comas.
No Señor. | Opción y descripción |
---|---|
1 | activebackground El color de fondo cuando el mouse está sobre el botón de radio. |
2 | activeforeground El color de primer plano cuando el mouse está sobre el botón de radio. |
3 | anchor Si el widget ocupa un espacio más grande de lo que necesita, esta opción especifica dónde se ubicará el botón de radio en ese espacio. El valor predeterminado es anchor = CENTER. |
4 | bg El color de fondo normal detrás del indicador y la etiqueta. |
5 | bitmap Para mostrar una imagen monocromática en un botón de radio, establezca esta opción en un mapa de bits. |
6 | borderwidth El tamaño del borde alrededor de la parte indicadora. El valor predeterminado es 2 píxeles. |
7 | command Un procedimiento que se llamará cada vez que el usuario cambie el estado de este botón de radio. |
8 | cursor Si establece esta opción en un nombre de cursor ( flecha, punto, etc. ), el cursor del mouse cambiará a ese patrón cuando esté sobre el botón de radio. |
9 | font La fuente utilizada para el texto. |
10 | fg El color utilizado para representar el texto. |
11 | height El número de líneas (no píxeles) de texto en el botón de radio. El valor predeterminado es 1. |
12 | highlightbackground El color del resaltado de enfoque cuando el botón de radio no tiene enfoque. |
13 | highlightcolor El color del resaltado del foco cuando el botón de radio tiene el foco. |
14 | image Para mostrar una imagen gráfica en lugar de texto para este botón de radio, establezca esta opción en un objeto de imagen. |
15 | justify Si el texto contiene varias líneas, esta opción controla cómo se justifica el texto: CENTRO (predeterminado), IZQUIERDA o DERECHA. |
dieciséis | padx Cuánto espacio dejar a la izquierda y derecha del botón de radio y el texto. El valor predeterminado es 1. |
17 | pady Cuánto espacio dejar arriba y debajo del botón de radio y el texto. El valor predeterminado es 1. |
18 | relief Especifica la apariencia de un borde decorativo alrededor de la etiqueta. El valor predeterminado es PLANO; para otros valores. |
19 | selectcolor El color del botón de radio cuando está configurado. El valor predeterminado es rojo. |
20 | selectimage Si está utilizando la opción de imagen para mostrar un gráfico en lugar de texto cuando se borra el botón de radio, puede configurar la opción de seleccionar imagen en una imagen diferente que se mostrará cuando se configure el botón de radio. |
21 | state El valor predeterminado es state = NORMAL, pero puede establecer state = DISABLED para atenuar el control y hacer que no responda. Si el cursor se encuentra actualmente sobre el botón de radio, el estado es ACTIVO. |
22 | text La etiqueta que se muestra junto al botón de radio. Utilice nuevas líneas ("\ n") para mostrar varias líneas de texto. |
23 | textvariable Para esclavizar el texto que se muestra en un widget de etiqueta a una variable de control de clase StringVar , establezca esta opción en esa variable. |
24 | underline Puede mostrar un subrayado (_) debajo de la enésima letra del texto, contando desde 0, estableciendo esta opción en n. El valor predeterminado es subrayado = -1, lo que significa que no hay subrayado. |
25 | value Cuando el usuario enciende un botón de radio, su variable de control se establece en su opción de valor actual. Si la variable de control es una IntVar , asigne a cada botón de radio del grupo una opción de valor entero diferente. Si la variable de control es StringVar , asigne a cada botón de radio una opción de valor de cadena diferente. |
26 | variable La variable de control que comparte este botón de radio con los otros botones de radio del grupo. Puede ser IntVar o StringVar. |
27 | width Ancho de la etiqueta en caracteres (¡no en píxeles!). Si esta opción no está configurada, el tamaño de la etiqueta se ajustará a su contenido. |
28 | wraplength Puede limitar el número de caracteres en cada línea estableciendo esta opción en el número deseado. El valor predeterminado, 0, significa que las líneas se romperán solo en las líneas nuevas. |
Métodos
No Señor. | Método y descripción |
---|---|
1 | deselect() Borra (apaga) el botón de radio. |
2 | flash() Destella el botón de radio varias veces entre sus colores activos y normales, pero lo deja como comenzó. |
3 | invoke() Puede llamar a este método para obtener las mismas acciones que ocurrirían si el usuario hiciera clic en el botón de radio para cambiar su estado. |
4 | select() Establece (enciende) el botón de radio. |
Ejemplo
Pruebe el siguiente ejemplo usted mismo:
# !/usr/bin/python3
from tkinter import *
def sel():
selection = "You selected the option " + str(var.get())
label.config(text = selection)
root = Tk()
var = IntVar()
R1 = Radiobutton(root, text = "Option 1", variable = var, value = 1,
command = sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text = "Option 2", variable = var, value = 2,
command = sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text = "Option 3", variable = var, value = 3,
command = sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
Resultado
Cuando se ejecuta el código anterior, produce el siguiente resultado: