我应该如何将5个QtSlider连接到一个插槽?,我需要知道他们中的哪一个发送了"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
要获取谁发送了信号,应该调用方法sender()
。
@pyqtSlot(int)
def supportSlot(self, newValue) :
slider = self.sender()
name = slider.objectName()
self.valueChangedSlot(newvalue, name) # calling your original slot