达到限制后自动旋转值的自定义 qt spinbox

Custom qt spinbox for auto rotating values after reaching the limits

我希望我的 Qt Spin-box 在用户到达值范围的两端时旋转值。

例如让我的范围是 0 到 10,增量为 2。当值已经是 10 时单击旋转框的增量按钮后,通常没有任何反应。但我希望它将值旋转回第一个值 0.

我必须重写哪个成员函数才能捕捉到用户尝试更改 QSpinBox 中的值的事件class?

class MyCustomSpinBox : public QSpinBox
{
    // override this function to get the effect of rotating
    void override_func()
    {
    // code to rotate the value 
    }
};

或者,是否已经存在一些 属性 这样我就可以在 qt-creator 中设置(可能)以获得相同的旋转值效果?

谢谢。

您可以只启用环绕。

例如

QSpinBox *spinBox = new QSpinBox(this);
spinBox->setRange(0, 100);
spinBox->setWrapping(true);
spinBox->setValue(100);
spinBox->stepBy(1);
// value is 0