2012-11-21 47 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

相关问题