0

我正在创建一个自定义多滑块,我已经创建了带有多个手柄的滑块。这是它目前的样子:

在此处输入图像描述

如您所见,有 3 个手柄。但是看到中间那个酒吧了吗?我需要将它放在两个备用滑块之间 - 但由于某种原因,它只是稍微向右偏移:(。

我试过搜索这个,我不想使用预制的多滑块有人能帮我吗?

这是处理移动我的中间滑块的代码:

auto slider_min(ui->slider_multi_slider->minimum());
auto slider_max(ui->slider_multi_slider->maximum());
auto slider_size_px(ui->slider_multi_slider->size().width());


auto end(ui->slider_multi_slider->endHandleValue());
auto start(ui->slider_multi_slider->startHandleValue());
auto diff(end - start);
auto mid(start + (diff/2));

auto start_x_pos(QStyle::sliderPositionFromValue(slider_min,slider_max,start,slider_size_px));
auto end_x_pos(QStyle::sliderPositionFromValue(slider_min,slider_max,end,slider_size_px));
auto mid_x_pos(QStyle::sliderPositionFromValue(slider_min,slider_max,mid,slider_size_px));

auto diff_x_pos(end_x_pos - start_x_pos);

ui->slider_multi_slider->setValue(mid);

slider_style = new SliderProxyStyle();
slider_style->setWidth(diff_x_pos);
ui->slider_multi_slider->setStyle(slider_style);
4

0 回答 0