¿Cómo obtener el índice de la opción seleccionada en Tkinter Combobox?

En este artículo, discutiremos cómo obtener el índice de las opciones seleccionadas en el cuadro combinado de Tkinter

Un cuadro combinado es una combinación de un cuadro de lista y un widget de entrada. Este widget permite a los usuarios seleccionar un valor de un conjunto de valores.

Sintaxis:

def get_index(*arg):
   Label(app, text="The value at index " + str(combo.current()) +\
    " is" + " " + str(var.get()), font=('#Font of Text')).pack()
var = StringVar()
combo = ttk.Combobox(app, textvariable=var)
var.trace('w', get_index)

Implementación paso a paso:

Paso 1: en primer lugar, importa la biblioteca Tkinter.

from tkinter import *
from tkinter import ttk

Paso 2: Ahora, crea una aplicación GUI usando Tkinter.

app=Tk()

Paso 3: A continuación, configure la geometría de la aplicación.

app.geometry("#Dimensions of the app")

Paso 4: Además, cree una función para borrar el Combobox.

def clear():
   combo.set('')

Paso 5: Más tarde, cree una función para establecer el índice de la opción seleccionada en Combobox.

def get_index(*arg):
  Label(app, text="The value at index " + str(combo.current())\
   + " is" + " " + str(var.get()), font=('#Font of Text')).pack()

Paso 6: Además, cree una tupla de algunos valores para agregar en el Combobox.

months = ('January', 'February', 'March', 'April', 'May',
 'June', 'July','August','September','October',
 'November','December')

Paso 7: luego, cree un widget de cuadro combinado y agregue los valores en ese cuadro combinado.

var = StringVar()
combo = ttk.Combobox(app, textvariable=var)
combo['values'] = months
combo['state'] = 'readonly'
combo.pack(padx=#x-axis padding value, pady=#y-axis padding value)

Paso 8: En mayor medida, establezca el seguimiento para la variable dada.

var.trace('w', get_index)

Paso 9: además, cree un botón para borrar el valor de texto del cuadro combinado seleccionado.

button = Button(app, text="Clear", command=clear)
button.pack()

Paso 10: Finalmente, haz un bucle infinito para mostrar la aplicación en la pantalla.

app.mainloop()

Ejemplo:

Python3

# Python program to get index of selected
# option in Tkinter Combobox
  
# Import the libraries tkinter
from tkinter import *
from tkinter import ttk
  
# Create a GUI app
app = Tk()
  
# Set the geometry of the app
app.geometry("600x400")
  
# Function to clear the Combobox
def clear():
    combo.set('')
  
# Function to print the index of selected option
# in Combobox
def get_index(*arg):
    Label(app, text="The value at index " + str(combo.current()) +
          " is" + " " + str(var.get()), font=('Helvetica 12')).pack()
  
  
# Define Tuple of months
months = ('January', 'February', 'March', 'April', 'May', 'June',
          'July', 'August', 'September', 'October', 'November',
          'December')
  
# Create a Combobox widget
var = StringVar()
combo = ttk.Combobox(app, textvariable=var)
combo['values'] = months
combo['state'] = 'readonly'
combo.pack(padx=5, pady=5)
  
# Set the tracing for the given variable
var.trace('w', get_index)
  
# Create a button to clear the selected combobox 
# text value
button = Button(app, text="Clear", command=clear)
button.pack()
  
# Make infinite loop for displaying app on 
# the screen
app.mainloop()

Producción:

 

Publicación traducida automáticamente

Artículo escrito por vin8rai 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 *