本文从我原先发布在 CSDN 的文章迁移而来,原文链接:https://blog.csdn.net/wang112031/article/details/101164487。

======博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者======

实现[][virtual] void QAbstractSpinBox::stepBy(int steps) 函数就可以,直接上代码

#ifndef VALDOUBLESPINBOX_H
#define VALDOUBLESPINBOX_H
#include <QDoubleSpinBox>

class ValDoubleSpinBox : public QDoubleSpinBox
{
    public:
    explicit ValDoubleSpinBox(QWidget *parent = nullptr);
    protected:
    void stepBy(int steps);
};

#endif // VALDOUBLESPINBOX_H
#include "valdoublespinbox.h"
#include <QtDebug>

ValDoubleSpinBox::ValDoubleSpinBox(QWidget *parent) : QDoubleSpinBox(parent)
{
}
void ValDoubleSpinBox::stepBy(int steps)
{
    qDebug()<<"steps"<<steps;
    //这里可以发送消息,获取到值了,再调用setValue,这里只是实例,UI尽量不要阻塞
    setValue(value()+steps);
}