【发布时间】:2020-06-08 09:02:42
【问题描述】:
我的 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)
.
.
.
不幸的是,在将信号连接到插槽时,我找不到获取发送者的方法。
什么是这样做的好方法?
【问题讨论】: