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
.