在 qt5 中实现搜索滑块



everyone.我正在用 qt4 重写我的 qt5 音乐播放器。而且我无法像在声子中那样制作适当的搜索滑块。您是否有一个简单的实现UI部分的示例?

上级:这是我的方法:

//mainwindow.cpp
connect(ui->seekSlider,SIGNAL(sliderMoved(int)),music,SLOT(setPosition(int)));
connect(music,SIGNAL(newPosition(qint64)),this,SLOT(positionChanged(qint64)));
connect(music,SIGNAL(newRange(qint64)),this,SLOT(durationChanged(qint64)));
void MainWindow::positionChanged(qint64 position)
{
    ui->seekSlider->setValue(position);
}
void MainWindow::durationChanged(qint64 duration)
{
   ui->seekSlider->setRange(0,duration);
}

//music class realization
player = new QMediaPlayer;
connect(player,SIGNAL(positionChanged(qint64)),this,SIGNAL(newPosition(qint64)));
connect(player,SIGNAL(durationChanged(qint64)),this,SIGNAL(newRange(qint64)));
void MusicControl::setPosition(int position)
{
    player->setPosition(position);
}

我今天遇到了同样的问题,我使用了这里介绍的方法:如何很好地将 qint64 "投射"到 QProgressBar 的 int,

关于您的解决方案,它可能在大多数情况下都运行良好,但由于 qint64 是 64 位,而 int 主要是 32 位,因此滑块的值可能会溢出。设置百分比值可能更安全。

相关内容

  • 没有找到相关文章

最新更新