我应该如何将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
答案 0 :(得分:3)
要获取发送信号的人,您应该调用方法sender()
。
@pyqtSlot(int)
def supportSlot(self, newValue) :
slider = self.sender()
name = slider.objectName()
self.valueChangedSlot(newvalue, name) # calling your original slot