Tkinter Tutorials

Domina los Checkbuttons de Tkinter: Guía Completa

Spread the love

Las casillas de verificación son un elemento fundamental de la IU en Tkinter, que ofrece una forma sencilla para que los usuarios seleccionen o deseleccionen opciones. Este tutorial explora varios aspectos del uso de las casillas de verificación, desde la implementación básica hasta técnicas avanzadas como la vinculación de funciones de devolución de llamada y la modificación de los estados predeterminados.

Tabla de contenido:

  1. Ejemplo básico de casilla de verificación
  2. Selección y deselección programáticas
  3. Alternar el estado de la casilla de verificación
  4. Vincular funciones de devolución de llamada
  5. Establecer el valor predeterminado de la casilla de verificación
  6. Explorando opciones adicionales

1. Ejemplo básico de casilla de verificación

Comencemos con un ejemplo simple que muestra una sola casilla de verificación:


import tkinter as tk

root = tk.Tk()
root.title("Ejemplo de casilla de verificación")

var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Acepto los términos", variable=var)
checkbutton.pack()

root.mainloop()

Esto crea una ventana que contiene una casilla de verificación con la etiqueta «Acepto los términos». BooleanVar() almacena el estado de la casilla de verificación (True para seleccionada, False para deseleccionada). pack() coloca la casilla de verificación en la ventana.

2. Selección y deselección programáticas

Puede controlar directamente el estado de la casilla de verificación utilizando su variable asociada:


import tkinter as tk

root = tk.Tk()
root.title("Control de casilla de verificación")

var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="¡Seleccióname!", variable=var)
checkbutton.pack()

def select():
    var.set(True)

def deselect():
    var.set(False)

select_button = tk.Button(root, text="Seleccionar", command=select)
select_button.pack()

deselect_button = tk.Button(root, text="Deseleccionar", command=deselect)
deselect_button.pack()

root.mainloop()

Este ejemplo agrega botones para seleccionar y deseleccionar programáticamente la casilla de verificación.

3. Alternar el estado de la casilla de verificación

Un caso de uso frecuente implica alternar el estado de la casilla de verificación:


import tkinter as tk

root = tk.Tk()
root.title("Alternar casilla de verificación")

var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="¡Alternarme!", variable=var, command=lambda: print(f"Estado de la casilla de verificación: {var.get()}"))
checkbutton.pack()

root.mainloop()

La opción command activa una función (aquí, imprimiendo el estado actual) cada vez que se alterna la casilla de verificación.

4. Vincular funciones de devolución de llamada

Se pueden realizar acciones más complejas utilizando una función de devolución de llamada personalizada:


import tkinter as tk

root = tk.Tk()
root.title("Devolución de llamada de casilla de verificación")

def callback():
    if var.get():
        print("¡Casilla de verificación seleccionada!")
    else:
        print("¡Casilla de verificación deseleccionada!")

var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="¡Activar devolución de llamada!", variable=var, command=callback)
checkbutton.pack()

root.mainloop()

Este ejemplo muestra una función de devolución de llamada que imprime un mensaje basado en el estado de la casilla de verificación.

5. Establecer el valor predeterminado de la casilla de verificación

Se puede establecer el estado inicial de la casilla de verificación:


import tkinter as tk

root = tk.Tk()
root.title("Valor predeterminado de la casilla de verificación")

var = tk.BooleanVar(value=True)  # Seleccionada inicialmente
checkbutton = tk.Checkbutton(root, text="¡Seleccionada por defecto!", variable=var)
checkbutton.pack()

root.mainloop()

Al inicializar BooleanVar en True, la casilla de verificación comienza en estado seleccionado.

6. Explorando opciones adicionales

El widget Checkbutton de Tkinter ofrece varias otras opciones de personalización, que incluyen:

  • onvalue y offvalue: Personaliza los valores asociados con los estados seleccionado y deseleccionado (el valor predeterminado es 1 y 0, respectivamente).
  • variable: Si bien hemos usado BooleanVar, puede usar otros tipos de variables para una gestión de estado más compleja.
  • indicatoron: Controla si la casilla de verificación muestra un indicador visual (cuadrado).
  • selectcolor: Cambia el color del indicador seleccionado.
  • offrelief y onrelief: Controlan la apariencia 3D del botón en los estados seleccionado y no seleccionado.

Consulte la documentación oficial de Tkinter para obtener una lista completa de opciones y su uso.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *