我的问题是,如何在 spinbox( I required double spinbox (QDoubleSpinBox
)) 中的“value”增加/减少之前控制 stepSize 和“currentvalue”?
注意: 我知道,存在“valueChanged”信号,但是只有在当前值递增/递减后才会调用插槽
在第二条评论中,我指出您误解了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);
}
这将使用对数递增递减逻辑完成工作。