2016-03-10 62 views
0

例如,假設我有這本字典 - dict = {a: 1,2,3, b: 4,5,6, c: 7,8,9} 如何創建組合框的組合框用於組合框的值的組合框?如何使用PyQt在內部創建與組合框的組合框

enter image description here

+0

創建兩個組合框,與字典鍵第一填充和重新填充當第二項與第一組合框中選擇適當的值 – nekavally

+0

hm,聽起來不錯 –

+0

但是,我可以只用一個組合框對象嗎? –

回答

1

這聽起來像你想嵌套菜單

enter image description here

的一種方式做,在Qt是使用QToolButtonQMenu

d = {'a': [1,2,3], 'b': [4,5,6], 'c': [7,8,9]} 

button = QToolButton() 

def callback_factory(k, v): 
    return lambda: button.setText('{0}_{1}'.format(k, v)) 

menu = QMenu() 
for k, vals in d.items(): 
    sub_menu = menu.addMenu(k) 
    for v in vals: 
     action = sub_menu.addAction(str(v)) 
     action.triggered.connect(callback_factory(k, v)) 

button.setMenu(menu) 
+0

男人,你是最棒的。非常感謝 –

+0

請幫助我一次。如何在該菜單中獲取(或查看)選定的值? –

+0

您必須在選擇時存儲選擇內容。你可以在callback_factory返回的函數中做到這一點,當他們點擊你是天才的項目 –