2

如果值通过旋转框按钮或鼠标滚轮或向上或向下键更改,我需要将旋转框值设置为 1、10、100、1000、10000 之一。但如果值被键盘改变,我需要其他行为。

这是我的按钮、鼠标滚轮、向上和向下键的代码。

void Dlg::onValueChanged(int value)
{
    if (value > _value)
        value = (value - 1) * 10;

    value = log10(value);
    value = _Pow_int(10, value);

    _ui->spinBoxs->setValue(_value = value);
}

如何通过键盘进行其他值更改行为?

4

1 回答 1

1

在这种情况下,我认为您将创建从QSpinBox. 您至少需要重新实现以下功能:

virtual void keyPressEvent( QKeyEvent* event );
virtual void wheelEvent( QWheelEvent* event );

与您的规格。

于 2015-06-24T16:14:57.983 回答