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: