¿Cómo obtener el valor seleccionado del cuadro de lista en tkinter?

Requisitos previos: Tkinter , cuadro de lista

ListBox es uno de los muchos widgets útiles proporcionados por Tkinter para el desarrollo de GUI. El widget Listbox se utiliza para mostrar una lista de elementos de los que un usuario puede seleccionar uno o más elementos según las restricciones. En este artículo, veremos cómo podemos obtener los valores seleccionados de un widget de cuadro de lista.

Código:

Python3

# Python3 program to get selected
# value(s) from tkinter listbox
 
# Import tkinter
from tkinter import *
 
# Create the root window
root = Tk()
root.geometry('180x200')
 
# Create a listbox
listbox = Listbox(root, width=40, height=10, selectmode=MULTIPLE)
 
# Inserting the listbox items
listbox.insert(1, "Data Structure")
listbox.insert(2, "Algorithm")
listbox.insert(3, "Data Science")
listbox.insert(4, "Machine Learning")
listbox.insert(5, "Blockchain")
 
# Function for printing the
# selected listbox value(s)
def selected_item():
     
    # Traverse the tuple returned by
    # curselection method and print
    # corresponding value(s) in the listbox
    for i in listbox.curselection():
        print(listbox.get(i))
 
# Create a button widget and
# map the command parameter to
# selected_item function
btn = Button(root, text='Print Selected', command=selected_item)
 
# Placing the button and listbox
btn.pack(side='bottom')
listbox.pack()
 
root.mainloop()

Producción:

Ventana GUI con salida

Explicación: 

El método curselection en el cuadro de lista devuelve una tupla que contiene los índices/números de línea de los elementos seleccionados del cuadro de lista, comenzando desde 0. La función selected_item que hicimos, atraviesa la tupla devuelta por el método curselection e imprime el elemento correspondiente de el cuadro de lista usando los índices. Se ejecuta cuando pulsamos el botón “Imprimir Seleccionados”. En el caso de que no haya elementos seleccionados, el método curselection devuelve una tupla vacía.

Nota: puede cambiar el parámetro de modo de selección del widget de cuadro de lista a «ÚNICO» para poner la restricción de elegir un valor único solamente.

Publicación traducida automáticamente

Artículo escrito por neerajxrana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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