Tkinter Combobox¶
Permite agregar un menú desplegable a la GUI. Solo es posible seleccionar una opción de las que se encuentren en el combobox, o si está permitido, es posible agregar otra opción diferente a las que ya están.
Ejemplo¶
# -*- coding: utf-8 -*-
"""
Ejemplo de ventana básico con combobox
"""
#Importamos las librerías necesarias
import tkinter as tk
from tkinter import ttk
def mostrar():
#Verifica si hay algún elemento seleccionado y lo muestra
if combobox.get() != "":
print(combobox.get())
ventana = tk.Tk() #Crea la ventana principal
#Insertar 20 elementos
lista = []
for i in range(20):
lista.append("Elemento {}".format(i))
#Crear el widget combobox
#State controla si se puede ingresar valores al combobox por teclado
combobox = ttk.Combobox(ventana, values=lista, state="readonly")
combobox.pack()
#Se crea un botón y se conecta con la función
boton = tk.Button(ventana,text="Mostrar selección",command=mostrar)
boton.pack()
ventana.mainloop()
El resultado es el siguiente:

El combobox permite seleccionar alguna de las opciones, el botón está conectado a la función mostrar (ver Tkinter Button) que al ser ejecutada muestra en la terminal el elemento que está seleccionado en el combobox así:

En este ejemplo, después de crear la ventana principal tk.Tk, se crea la lista con los elementos que estarán en el menú. Luego se define el combobox, indicando el widget en el que estará con las opciones values y state; la primera permite ingresar la lista de opciones que mostrará el combobox y la última es para indicar si se permite o no ingresar más opciones de las que están en values.