在PyQt5中连接多对小部件
我的GUI中有多个QSlider、QSpinBox对,需要将这些值锁定在一起 目前,我是这样实施的:在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
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()