如何使用一个connect-command连接多个spinbox?

时间:2014-01-23 13:56:21

标签: pyqt signals-slots

我有几个QDoubleSpinBoxes,我想将它们连接到一个Slot。可以为一个以上的对象创建一个connect-command?例如,我想连接:

doubleSpinBox_1
doubleSpinBox_2

到我的功能“bla”。是否有任何命令:

self."doubleSpinBox_1 **AND** _2".valueChanged.connect(self.bla)

2 个答案:

答案 0 :(得分:2)

或者,您可以使用getattr

for id in range(1,3):
    spinbox = getattr(self, "doubleSpinBox_{}".format(id))
    spinbox.valueChanged.connect(self.mySlot)

答案 1 :(得分:1)

试试这个:

for spin_id in range(1,3):
  spinboxes = self.findChildren(QtGui.QDoubleSpinBox, "doubleSpinBox_%d"%spin_id)
  if spinboxes:
    spinboxes[0].valueChanged.connect(self.bla)

但是如果您有许多要连接的旋转框,这段代码很有用;)