我的问题是,如何在spinbox(I required double spinbox (QDoubleSpinBox))中的“值”递增/递减之前获取stepSize和“ currentvalue”的控件?

注意:
我知道,“ valueChanged”信号在那里,但是只有在currentvalue增加/减少之后才调用插槽

最佳答案

在第二个评论中,我指出您误解了QAbstractSpinBox::stepBy的功能。

因此,当您将QDoubleSpinBox子类化时,您可以这样做:

void SubclassOfDoubleSpinBox::stepBy(int steps) {
    if (steps>0) {
       if (steps>=10) { // note some events call stepBy with step value 10 or -10
           setSingleStep(incrementStep10());
       } else {
           setSingleStep(incrementStep1());
       }
    } else {
       if (steps<=-10) {
           setSingleStep(decrementStep10());
       } else {
           setSingleStep(decrementStep1());
       }
    }

    QDoubleSpinBox::stepBy(steps);
}


这将使用对数增量递减逻辑来完成这项工作。

关于c++ - 单击QDoubleSpinBox的上/下控件后,如何获取步长和当前值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26419225/

10-11 17:52