我正在尝试使用QSlider,但是如果有人单击位置X(他想将滑块放置到该位置),则滑块始终首先将值设置为最大值或最小值,然后再将其设置为值X。因此没有必要步入正轨。
如何避免此步骤?

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

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

最佳答案

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

09-28 05:46