我在Qt应用程序中使用QSlider对象,我想在移动它时获取滑块的位置。我尝试使用pos()
函数,但它总是返回具有相同 x 和 y 值的QPoint()
(我想它返回左上角的位置)滑块的角):
ui->horizontalSlider->pos();
然后我尝试将滑条的宽度除以100,然后将乘以滑条value()
的值添加到最左侧:
SliderStep = ui->horizontalSlider->width()/100;
(ui->horizontalSlider->value()) * SliderStep + ui->horisontalSlider->geometry().x();
对我来说有点用,但是值不是很准确,因为SliderStep必须为 double ,坐标为整数 。我总是注意到,我可以使用value()
或sliderPosition()
函数来获得滑块值,因为它们总是为我返回相同的值:
qDebug()<<ui->horizontalSlider->sliderPosition();
qDebug()<<ui->horizontalSlider->value();
所以,我的问题是:是否有更方便或“正确”的方法来获取滑块的坐标?这两个功能有什么区别?任何帮助表示赞赏。