Я строю программу, в которой мне нужно отфильтровать все «модули курса», которые не относятся к выбранному уровню квалификации (выбранному из меню параметров выше) из меню параметров.Моя идея состоит в том, чтобы создать словарь ModuD только с параметрами навыка B (если пользователь выбирает уровень навыка Foundation), а затем передать его в меню параметров ModuleDDL, где будет отображаться имя (т. Е. «Геология» или «Разработка резервуара»), но оно будетверните код (.ie B11 или B12).
Итак, у меня есть что-то вроде:
class Module:
def __init__(self, code, name, skill, description):
self.code = code
self.name = name
self.skill = skill
self.description = description
class Askill(Module):
A11 = Askill(11, 'Fundamentals', 'A', 'description A11')
class Bskill(Module):
B11 = Bskill(11,'Geology', 'B', 'description B11')
B12 = Bskill(12,'Reservoir Engineering', 'B', 'description B12')
SkillD = dict(Awareness = 'A', \
Foundation = 'B', \
Skill = 'C', \
Advance = 'D')
selectedSkill = StringVar()
############# Create Dropdown list for Skill Level ###########
LabelSkillDDL = Label(root, text="Skill Level").pack(side=TOP, anchor=W)
SkillDDL = OptionMenu(root, selectedSkill, *SkillD.keys(), command=update_text_box)
SkillDDL.pack(side=TOP, anchor=W, padx=10)
SkillDDL.configure(font=(fonttype, fontsize))
########### Create Dropdown list for Module ###########
LabelModuleDDL = Label(root, text="Module").pack(side=TOP, anchor=W)
ModuleDDL = OptionMenu(root, selectedCode, *ModuD.keys(), command=update_text_box)
ModuleDDL.pack(side=TOP, anchor=W, padx=10)
ModuleDDL.configure(font=(fonttype, fontsize))
Есть идеи, как это может работать?Есть ли лучший способ, которым я не вижу атм?
Большое спасибо!