达到限制后自动旋转值的自定义 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
我希望我的 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