2016-12-16 56 views
-2

我是一个python和arcpy用户,我有一个关于从属组合框的问题。其实我已经在here上问过同样的话题,但还没有人回答。我从herehere得到了答案。但我认为我对Python编程太新手了,我没有清楚地回答。 我尽我这样的代码下面,底座上的答案,我已经得到了前:Tkinter python从属组合框

import Tkinter 
from Tkinter import * 

root = Tkinter.Tk() 

bu = StringVar() 
bu.set("") 
businessunit = ["DUM", "IND", "KAM", "RAP"] 
bu_menu = OptionMenu(root, bu, *businessunit, command=Combobox_1) 
bu_menu.config(bg="white", fg="dark blue", width=3, relief=GROOVE) 
bu_menu.place(x=95, y=110) 

sec = StringVar() 
sec.set("") 
sector = {"DUM":['GRG', 'KBU', 'LBO', 'PLS', 'PLU', 'PPR', 'RPT', 'SBI', 'SKB'], 
       "IND":['BYS','MER','NGD','PER','SJG','SLJ'], 
       "KAM":['RSG','SRG','SRY','TSK'], 
       "RAP":['BAS','CER','LGB','LON','LOS','MDU','MRE','MRW','PEN','PES','PPD','TEE','TEW','TSB','UKU']} 
sec_menu = OptionMenu(root, sec, *sector, command=Combobox_2) 
sec_menu.config(bg="white", fg="dark blue", width=3, relief=GROOVE) 
sec_menu.place(x=155, y=110) 

def __init__(self): 

    def Combobox_1(businessunit): 
     print bu.get() 

    def Combobox_2(sector): 
     print sec.get() 

    self.Combobox_1.activated[str].connect(self.on_combo_activated) 

def on_combo_activated(self, text): 
    self.Combobox_2.clear() 
    self.Combobox_2.addItems(self.sector[text]) 

root.pack() 
root.mainloop() 
root.destroy() 

请人帮助我在此。非常感谢你的回答。

编辑:

在这种情况下

,取决于组合框是指:

如果DUM在Combobox_1被选中,Combobox_2将只显示GRG,KBU,LBO等

如果IND是在Combobox_1选择,Combobox_2只会显示BYS,MER,PER等

如果KAM在Combobox_1被选中,Combobox_2将只显示RSG,SRG,SRY等

如果RAP在Combobox_1被选中,Combobox_2将只显示BAS,CER,LGB等

+1

你能更详细地描述你的“真实”问题吗?请详细说明“依赖组合框”的含义......你的代码是做什么的,你想做什么? – nostradamus

回答