我的目标是根据用户QComboBoxes
在QSpinbox
.
所以,它会是这样的:
用户将选择一个数字QSpinbox
,之后,通过使用信号valueChanged(int)
我想调用另一个函数,该函数将为QComboBoxes
用户输入数据。
一旦用户更改为另一个值。它将QComboBox
根据QSpinbox
值自动增加/减少数字。
所以我想出了这样的事情:
def myfunction(x):
labellist = []
combolist = []
layoutlist = []
layout = QtGui.QVBoxLayout()
for i in range(x):
labellist.append(QtGui.QLabel('this is label'+str(i))
combolist.append(QtGui.QComboBox())
layoutlist.append(QtGui.QHBoxLayout())
layoutlist[i].addWidget(labellist[i])
layoutlist[i].addWidget(combolist[i])
layout.addLayout(layoutlist[i])
self.connect(number,QtCore.SIGNAL("valueChanged(int)"),myfunction)
即使它根据用户在旋转框上选择的数字创建组合框,但当用户增加数字(例如 3 到 4)时,它不会删除旧的 3 个组合框,而是一起变成 7 个组合框。
我该如何解决?或者有没有更好的方法来达到类似的结果?