QDoubleSpinBox 如果如何知道改变前的数据
时间: 2024-03-02 17:49:46 浏览: 163
QDoubleSpinBox提供了valueChanged(double)信号,该信号在QDoubleSpinBox的值发生变化时被触发。如果您需要知道改变前的数据,可以使用QDoubleSpinBox的value()函数在值改变之前获取当前值,并在槽函数中保存它,以便后续使用。
以下是一个示例代码,演示如何获取QDoubleSpinBox改变前的数据:
```python
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.double_spin_box = QDoubleSpinBox()
self.double_spin_box.setMinimum(-1000.0)
self.double_spin_box.setMaximum(1000.0)
self.double_spin_box.setSingleStep(0.1)
self.double_spin_box.setDecimals(2)
self.double_spin_box.valueChanged.connect(self.on_value_changed)
self.previous_value = 0.0
layout = QVBoxLayout()
layout.addWidget(self.double_spin_box)
self.setLayout(layout)
def on_value_changed(self, new_value):
print("Previous value:", self.previous_value)
print("New value:", new_value)
self.previous_value = self.double_spin_box.value()
```
在这个示例中,我们定义了一个QDoubleSpinBox控件和一个previous_value变量来保存改变前的数据。在valueChanged()槽函数中,我们打印出previous_value和new_value的值,并将previous_value设置为当前值,以便下一次使用。
阅读全文