3

我在我的 Qt 应用程序中使用 QSlider 对象,我想在移动它时获取滑块的位置。我尝试使用pos()函数,但它总是返回QPoint()相同的xy值(我想它返回滑块左上角的位置):

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();

所以我的问题是,是否有更方便或“正确”的方式来获取滑块的坐标?这两个函数有什么区别?任何帮助表示赞赏。

4

0 回答 0