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:
- Ejemplo básico de casilla de verificación
- Selección y deselección programáticas
- Alternar el estado de la casilla de verificación
- Vincular funciones de devolución de llamada
- Establecer el valor predeterminado de la casilla de verificación
- 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
yoffvalue
: Personaliza los valores asociados con los estados seleccionado y deseleccionado (el valor predeterminado es 1 y 0, respectivamente).variable
: Si bien hemos usadoBooleanVar
, 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
yonrelief
: 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.