使一个QSpinBox更改另一个的值

时间:2019-07-04 10:51:46

标签: python pyqt5

我有2个QSpinBox( horSpinBox vertSpinBox ),它们之间具有依赖性。因此, horSpinBox 的值应始终比 vertSpinBox 的值大1.8倍。每当我更改任何QSpinBox的值时,另一个QSpinBox都应根据公式计算其值。这是我的代码:

self.vertSpinBox.valueChanged.connect(self.update_hor_spinbox)
self.horSpinBox.valueChanged.connect(self.update_ver_spinbox)

def update_hor_spinbox(self):
        self.horSpinBox.setValue(self.vertSpinBox.value() * 1.8)

def update_ver_spinbox(self):
        self.vertSpinBox.setValue(self.horSpinBox.value() / 1.8)

但是当我更改任何QSpinBox的值时,它都会调用两个函数,因为两个QSpinBox都被更改了。而且我不需要计算自己更改的SpinBox的值。我只需要为另一个尚未被我更改的SpinBox调用一个函数即可。

0 个答案:

没有答案