C++ QDoubleSpinBox 求出点击前的控件值
时间: 2024-10-17 08:14:37 浏览: 21
`QDoubleSpinBox` 是 Qt 库中的一个组件,它是一个双向绑定的数字输入框,通常用于显示和编辑双精度浮点数。如果你想要获取 `QDoubleSpinBox` 点击事件发生之前的当前值,你需要在相应的槽函数中保存这个值,因为 `QDoubleSpinBox` 的信号(如 `valueChanged(double)`)会在值改变时发出。
下面是一个简单的示例:
```cpp
#include <QDoubleSpinBox>
#include <QObject>
class MyWidget : public QWidget
{
public slots:
void onValueChanged(double value) {
lastValueBeforeClick = value; // 保存点击前的值
}
private:
QDoubleSpinBox spinBox;
double lastValueBeforeClick; // 存储变量,记录点击前的值
};
// 使用时,在构造函数或适当位置初始化并连接信号
MyWidget::MyWidget(QWidget* parent)
: QWidget(parent)
{
spinBox.setValue(0.0); // 设置初始值
spinBox.valueChanged.connect(this, &MyWidget::onValueChanged);
}
```
当用户在 `QDoubleSpinBox` 中输入数值或通过鼠标点击调整时,`valueChanged` 信号会被触发,并传递新的值到 `onValueChanged` 槽函数,这时你可以从 `lastValueBeforeClick` 变量中获取点击前的值。
阅读全文