Listbox

Listbox es una herramienta que permite a los usuarios ver y seleccionar de una lista de opciones. Es útil para presentar una lista de elementos entre los cuales el usuario puede hacer una o varias selecciones.

Características Principales

  1. Selección de Ítems: Permite la selección de uno o múltiples ítems. La selección múltiple puede ser configurada permitiendo que los usuarios seleccionen más de un ítem a la vez.

  2. Navegación y Desplazamiento: Integra funcionalidades de desplazamiento, lo que lo hace ideal para listas largas de opciones.

  3. Métodos de Interacción: Proporciona métodos para agregar, modificar y eliminar elementos, así como para obtener la selección actual.

Métodos Comunes

  • insert(index, item): Añade un ítem al Listbox. El parámetro index determina dónde será insertado el ítem en la lista.

  • delete(first, last=None): Elimina uno o más ítems de la lista. Si last no se especifica, solo se elimina el ítem en la posición first.

  • get(first, last=None): Recupera uno o más ítems de la lista. Similar a delete, si last no se especifica, solo se recupera el ítem en la posición first.

  • curselection(): Devuelve una tupla con los índices de todos los ítems seleccionados.

  • see(index): Asegura que el ítem en la posición index sea visible.

  • size(): Devuelve el número de ítems en el Listbox.

Configuraciones

  • height: Determina el número de ítems visibles antes de que se necesite desplazamiento.

  • selectmode: Controla cómo se pueden seleccionar los ítems. Los valores pueden ser SINGLE (sólo un ítem a la vez), BROWSE (como SINGLE, pero el ítem puede ser cambiado manteniendo el botón del ratón presionado), MULTIPLE (múltiples ítems pueden ser seleccionados sin necesidad de mantener presionada la tecla Ctrl), y EXTENDED (permite selección múltiple usando Shift y Ctrl para rangos y selecciones adicionales, respectivamente).

from tkinter import *

def mostrar_seleccion():
    # Obtener el índice del ítem seleccionado
    seleccionados = listbox.curselection()
    # Mostrar el texto de los ítems seleccionados
    for i in seleccionados:
        print(listbox.get(i))

# Crear la ventana principal
ventana = Tk()
ventana.resizable(False, False)
ventana.title("Ejemplo listas")
# ancho y alto de la ventana
ventana.geometry("450x250") 
# Crear un Listbox
listbox = Listbox(ventana, height=6, selectmode='multiple')
listbox.pack()

# Añadir algunos ítems, frutas
for item in ["Manzana", "Banana", "Cereza", "Durazno", "Mango", "Limón"]:
    listbox.insert(END, item)

# Botón para mostrar la selección
boton = Button(ventana, text="Mostrar Selección", command=mostrar_seleccion)
boton.pack()

ventana.mainloop()

Explicación

  • Listbox: Se crea un Listbox con un número fijo de líneas visibles y configurado para permitir la selección múltiple.

  • Insertar Ítems: Se añaden varios ítems a la lista usando el método insert.

  • Botón de Acción: Un botón que, cuando se presiona, llama a una función para imprimir los ítems seleccionados.

Última actualización