我想继续使用用户指定的值。例如,有一个字典,其中的键是用户在中选择的内容combo1:
dct = {'Морковь': ['M1', 'M2', 'M3', 'M4'], 'Лук': ['Л2', 'Л4', 'Л5'], 'Картофель': ['К1', 'К2', 'К7']}
def selected(event):
# получаем выделенный элемент
global selection
selection = combo.get()
root = Tk()
root.geometry('600x300')
combo1 = Combobox(root)
combo1['values'] = tuple(dct.keys())
combo1.grid(column=0, row=0)
combo1.bind("<<ComboboxSelected>>", selected)
我想创建第二个小部件combo2,用户将在其中通过按键选择我需要的列表。那些。例如,用户选择“Bow”,然后打开一个窗口,其中包含以下元素的选择:“L2”、“L4”、“L5”。但我不明白如何对第二个小部件进行动态更改。我的代码如下所示:
from tkinter import *
from tkinter.ttk import Combobox
def selected(event):
# получаем выделенный элемент
global selection1
selection1 = dct[str(combo1.get())]
def selected2(event):
# получаем выделенный элемент
global selection2
selection2 = combo2.get()
root = Tk()
root.geometry('600x300')
dct = {'Морковь': ['M1', 'M2', 'M3', 'M4'], 'Лук': ['Л2', 'Л4', 'Л5'], 'Картофель': ['К1', 'К2', 'К7']}
selection1 = None
selection2 = None
combo1 = Combobox(root)
combo1['values'] = tuple(dct.keys())
combo1.grid(column=0, row=0)
combo1.bind("<<ComboboxSelected>>", selected)
combo2 = Combobox(root)
combo2['values'] = selection1
combo2.grid(column=0, row=1)
combo2.bind("<<ComboboxSelected>>", selected2)
mainloop()
在第一个组合框的选择处理程序中,添加第二个组合框的值: