在PyQt5中连接多对小部件

在PyQt5中连接多对小部件,qt,pyqt,pyqt5,qt5,Qt,Pyqt,Pyqt5,Qt5,我的GUI中有多个QSlider、QSpinBox对,需要将这些值锁定在一起 目前,我是这样实施的: self.slider.valueChanged.connect(self.on_slider_move) self.spinBox.valueChanged.connect(self.on_spinbox_val_change) def on_slider_move(self, val): self.spinBox.setValue(val) def on_spinbox_val_c

我的GUI中有多个QSlider、QSpinBox对,需要将这些值锁定在一起

目前,我是这样实施的:

self.slider.valueChanged.connect(self.on_slider_move)
self.spinBox.valueChanged.connect(self.on_spinbox_val_change)

def on_slider_move(self, val):
   self.spinBox.setValue(val)

def on_spinbox_val_change(self, val):
   self.slider.setValue(val)
假设有5对(QSlider、QSpinBox),我必须设置10个连接和10个插槽,其中一些插槽对
val
执行微小更改

必须有一些通用的方法来解决这个问题。例如,了解是谁发送了信号并将其相应地路由到特定插槽:

def on_slider_move(self, sender, val):
   if sender == 'slider1':
       self.spinBox1.setValue(val)
   elif sender == 'slider2':
       self.spinBox2.setValue(val / 10)
   .
   .
   .
不幸的是,在将信号连接到插槽时,我找不到获取发送器的方法


这样做的好方法是什么?

self对象有一个
sender
方法

调用下面的函数,您就可以使用您所说的逻辑了

sender = self.sender()