是否可以使用QDdoubleSpinBox值已更改的lamba与if条件一起做一些事情



是否可以在下面的示例代码中使用lambda,或者是否有单行解决方案?如果可能怎么办?以下是示例代码:

self.total_spin.valueChanged.connect(self.valuechanged)
def valuechanged(self):
if self.total_spin.value() != 0.00:
self.SpinBox_one.setMaximum(100.00)
else:
self.SpinBox_one.setMaximum(0.00)

一行中带有lambda关键字的等效代码:

self.total_spin.valueChanged.connect(lambda value: self.SpinBox_one.setMaximum(100 if value else 0))

是的,例如,您可以直接将新值作为参数传递。

self.total_spin.valueChanged.connect(lambda new_value: self.valuechanged(new_value))
def valuechanged(self, new_value):
if new_value != 0.00:
self.SpinBox_one.setMaximum(100.00)

最新更新