tkinter - 根据先前的选项菜单选项过滤optionmenu选项

时间:2018-05-24 11:38:11

标签: python python-2.7 tkinter

我正在构建一个程序,我需要过滤掉所有课程模块'不是来自选项菜单中所选技能级别(从上面的选项菜单中选择)。我的想法是创建只有B技能选项的ModuD词典(如果用户选择基础技能等级),然后将其提供给ModuleDDL OptionsMenu,它将显示名称(即' Geology'或' ;油藏工程')但它将返回代码(.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))

任何想法如何才能起作用?有没有更好的方法可以看到大气?

非常感谢!

0 个答案:

没有答案