QSlider做了不必要的步骤

时间:2012-09-13 15:17:52

标签: qt qslider

我正在尝试使用QSlider,但是如果有人点击位置X,他想要将滑块放在哪里,滑块总是先将值设置为最大值或最小值,然后再设置为X值。所以有是一个不必要的步骤。 我该如何避免这一步?

我在QTDesigner的帮助下实现了滑块。 其余设置的代码如下:

_ui->horizontalSlider->setRange(1, aMaximalValue);
_ui->horizontalSlider->setValue(theCurrentValue);
connect(_ui->horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(onValueOfSliderChanged(int)));

2 个答案:

答案 0 :(得分:4)

当使用QSlider时,我的经验表明,当您在滑块中的某个位置点击当前位置的右侧(考虑水平滑块)时,它会通过pageStep大小增加滑块值。同样,如果单击值位于当前位置的左侧,则会按pageStep大小减小滑块值。只有将滑块拖动到该位置时,它才会将值设置为您想要的值,而不是单击时。尝试设置pageStep大小以查看是否存在问题。

答案 1 :(得分:2)

是的,就像shubh解释的那样,页面步骤可能太大了。 QSliders的一个常见问题是它们不会跳转到您单击的位置,而是向该方向移动页面步骤。

this question

中描述了该问题的解决方案