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