我正在尝试制作媒体播放器。使用 QSlider 显示轨道的时间状态。当用户在 QSlider 上的某处释放滑块时,应该会发生寻道。我查看了 QSlider 信号列表。似乎适合的是sliderReleased(),它在用户释放滑块时发生,但它没有得到滑块所在位置的最新值。因此,为了获得滑块的最新值,我使用了 sliderMoved() 并存储了参考。
信号和插槽连接
connect(this->ui->songProgress, SIGNAL(sliderMoved(int)), this,
SLOT(searchSliderMoved(int)));
connect(this->ui->songProgress, SIGNAL(sliderReleased()), this,
SLOT(searchSliderReleased()));
功能
void MainWindow::searchSliderMoved(int search_percent)
{
value=this->ui->songProgress->value();
std::cout<<"Moved: Slider value"<<value<<std::endl;
}
现在我正在使用 searchSliderReleased 中的“值”变量进行搜索
void MainWindow::searchSliderReleased()
{
std::cout<<"Released: Slider value"<<value<<std::endl;
emit search(value);//seek the track to location value
}
但上述技术的问题在于,sliderMoved 信号没有给出滑块下降的值,但它给出了滑块移动的位置。如何获得滑块掉落的值?