将多个QSliders连接到一个插槽

时间:2013-12-17 14:00:14

标签: python qt

我应该如何将5个QtSliders连接到一个插槽?我需要知道其中哪一个发送了信号“valueChanged”,因此,我不知何故需要发送类似“objectName”的内容。

我不知道有什么方法可以做到这一点,到目前为止我已经这样做了:

for index, child in enumerate(self.ui.groupBox_2.children()):
    try:        
        child.connect(child,SIGNAL("valueChanged(int)"), child,SLOT("valueChangedSlot(int,child.objectName)"))

    except Exception:
        pass

什么都没发生,我没有收到任何错误,移动幻灯片时什么都没发生。

我忘了发布插槽:

@pyqtSlot(int, str)
def valueChangedSlot(self,value,name):    
    print value, name

1 个答案:

答案 0 :(得分:3)

要获取发送信号的人,您应该调用方法sender()

  @pyqtSlot(int)
  def supportSlot(self, newValue) :
    slider = self.sender()
    name = slider.objectName()
    self.valueChangedSlot(newvalue, name) # calling your original slot