Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Listas desplegables dependientes (tkinter)
#1
Hola, la consulta sería en lo referente a una "lista desplegable de opciones" que debería dar paso a otra "lista desplegable" según lo seleccionado en la primera lsita. No se exactamente como construir esto y me gustaria saber que pasos hay seguir. Imagino que habria que hacer un reconocimiento del contenido de la primera lsita y una forma de acceder a los datos de la segunda lista limitado por la opcion de la primera. 

La primera lista esta montada así:

Código:
items = Label(main_frame, text="Items")
items.config(bg="floralwhite")
items.grid(row=0, column=1, sticky="w", padx=10, pady=10)

item_box = ttk.Combobox(main_frame, width=17, state="readonly")
item_box.grid(row=0, column=2, sticky="w", padx=10, pady=10)

options = ["Opcion 1", "Opcion 2", "Opcion 3", "Opcion 4", "Opcion 5", "Opcion 6"]
item_box["values"] = options
 
Así es como se ve:


Archivos adjuntos Miniatura(s)
   
Responder
#2
Buenas. En primer lugar deberías crear la segunda lista desplegable. Luego podés responder al evento <<ComboboxSelected>> para saber cuándo cambia la selección de tu primera lista desplegable y cargar los datos en la nueva lista en función del dato seleccionado. En este artículo tenés un ejemplo para empezar: https://recursospython.com/guias-y-manua...n-tkinter/.

Código:
from tkinter import messagebox, ttk
import tkinter as tk

def selection_changed(event):
    selection = combo.get()
    messagebox.showinfo(
        title="Nuevo elemento seleccionado",
        message=selection
    )

main_window = tk.Tk()
main_window.config(width=300, height=200)
main_window.title("Combobox")
combo = ttk.Combobox(values=["Python", "C", "C++", "Java"])
combo.bind("<<ComboboxSelected>>", selection_changed)
combo.place(x=50, y=50)
main_window.mainloop()

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Perfetco, muchas gracias. Le echare un buen vistazo.
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)