Вызов разных функций при выборе разных значений в combobox
Код:
import tkinter as tk
from tkinter import ttk
def callback1(event1):
print("New")
def callback2(event2):
print("New2")
GG = tk.Tk()
GG.geometry('200x100')
arx1 = ttk.Combobox(GG,values=[1,2])
arx1.grid(column=0, row=0)
arx1.current(0)
arx1.bind("<<ComboboxSelected>>", callbackFunc)
GG.mainloop()
Вопрос:
Как сделать так, чтобы при выборе "1" выводило функцию callback1, а при выборе "2" функцию callback2?
Заранее спасибо
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Просто сделайте общий колбэк, в нем проверяете какое значение выбрано, и вызываете нужный "дочерний" колбэк:
import tkinter as tk
from tkinter import ttk
def callback1(event):
print("New1")
def callback2(event):
print("New2")
def callbackFunc(event):
# Значения в комбо хранятся в строковом виде, поэтому сравнивать нужно со строкой
if arx1.get() == "1":
callback1(event)
elif arx1.get() == "2":
callback2(event)
GG = tk.Tk()
GG.geometry('200x100')
arx1 = ttk.Combobox(GG,values=[1,2])
arx1.grid(column=0, row=0)
arx1.current(0)
arx1.bind("<<ComboboxSelected>>", callbackFunc)
GG.mainloop()