2012-11-21 77 views
0

我剛剛開始使用pyqt4,並且一直停留在如何從另一個組合框中更改組合框列表。是否有某種類型的示例顯示如何使用此方法。PyQT4 Combobox更改另一個組合框的列表

我是否使用if,else語句來更改combobox_2的選項?

ex。

Combobox_1有一個1,2,3的列表。 Combobox_2具有a,b,c或d,e,f或g,h,i的列表。

如果在Combobox_1中選擇了1,Combobox_2將顯示a,b,c。

如果在Combobox_1中選擇了2,Combobox_2將顯示d,e,f。

如果在Combobox_1中選擇了3,Combobox_2將顯示g,h,i。

感謝

回答

2

你想要做的是這樣的:

def __init__(self): 
    ... 
    self.items = {'1':['a','b','c'],'2':['d','e','f'],'3':['g','h','i']} 
    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.items[text]) 
+0

大,工作,上如果我有三個組合框,而不是兩個什麼祕訣? – lunarcrusader

+0

您可以使用第二個組合框中的[currentIndexChanged](http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qcombobox.html#currentIndexChanged)信號做些什麼。 另一種可能性是對第三個組合框中的項目使用第二個字典,並將所有combobox_2的值作爲關鍵字,然後執行'self.Combobox_3.addItems(self.items_2 [self.Combobox_2.currentText()])'' 。 – BrtH

相關問題