Как вытащить несколько переменных из функции event

Рейтинг: 0Ответов: 0Опубликовано: 26.03.2023

Коллеги всем доброго здоровья! Вопрос в следующем, есть на входе два Combobox! Сначала оператор выбирает регион после чего в другом Combobox выбирает город! логика в том, что данные для второго Combobox должны подтягиваться на основании того что выберут из первого. я накатал более менее рабочий вариант с помощью <<ComboboxSelected>>" и функции event. А теперь главный вопрос как вытащить выбранный в функции callbackFunc country и city ??? ВСЕМ БОЛЬШЕ СПАСИБО!!!!

import tkinter as tk
from tkinter import ttk

window = tk.Tk()
window.title('Combobox')
window.geometry('500x250')


def callbackFunc(event):
    country = event.widget.get()
    print(country)
    if country == 'India':
        city['values'] = (' 1',' 2' )
        if city == ' 1':
            print(city)
        elif city == ' 2':
            print(city)
        else: print(city)
    elif country == 'China':
        city['values'] = (' 2',' 3')
        if city == ' 2':
            print(city)
        elif city == ' 3':
            print(city)
        else:
            print('no')
    elif country == 'Australia':
        city['values'] = (' 3',' 4')
        if city == ' 3':
            print(city)
        elif city == ' 4':
            print(city)
        else:
            print('no')

n = tk.StringVar()
country = ttk.Combobox(window, width=27, textvariable=n)
n = tk.StringVar()
city = ttk.Combobox(window, width=27, textvariable=n)
country['values'] = ('India','China','Australia',)
city['values'] = (' 1',' 2',' 3',' 4',)

country.grid(column=1, row=5)
country.current()
country.bind("<<ComboboxSelected>>", callbackFunc)

city.grid(column=1, row=6)
city.current()
city.bind("<<ComboboxSelected>>", callbackFunc)


window.mainloop()

Ответы

Ответов пока нет.