Как подключить 5 QtSliders к одному слоту ?, мне нужно было бы знать, какой из них отправил сигнал «valueChanged», поэтому мне как-то нужно было бы отправить что-нибудь вроде «objectName», ,подключить несколько QSliders к одному слоту
Я не знаю Проппер способ сделать это, я сделал, что до сих пор:
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
QSignalMapper сделано для этого –
@ratchetfreak QSignalMapper не будет работать в этом случае, так как он обрабатывает сигнал с дополнительным аргументом. –
Да, это правда, я думаю в functools.partial, но я не знаю, как его использовать – codeKiller