tkinter - Фильтр опций меню опций на основе предыдущего выбора опций - PullRequest
0 голосов
/ 24 мая 2018

Я строю программу, в которой мне нужно отфильтровать все «модули курса», которые не относятся к выбранному уровню квалификации (выбранному из меню параметров выше) из меню параметров.Моя идея состоит в том, чтобы создать словарь 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))

Есть идеи, как это может работать?Есть ли лучший способ, которым я не вижу атм?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...