qt5中的seekslider实现

Posted

技术标签:

【中文标题】qt5中的seekslider实现【英文标题】:Seekslider realization in qt5 【发布时间】:2013-10-30 20:49:53 【问题描述】:

大家。我正在用 qt5 重写我的 qt4 音乐播放器。而且我无法制作正确的搜索滑块,就像在声子中一样。你有实现这部分 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);

【问题讨论】:

【参考方案1】:

我今天也遇到了同样的问题,我用了这里介绍的方法:How to nicely "cast" qint64 to int for QProgressBar,

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

【讨论】:

以上是关于qt5中的seekslider实现的主要内容,如果未能解决你的问题,请参考以下文章

Slider滑块实现进度条

前端javascript实现带有子菜单和控件的轮播图slider

Qt 视频播放器

bizchart+slider实现分组柱状图

bizchart+slider实现分组柱状图

UnityVR中 如何实现VR模式下滑动Slider让Cube变色。 如何滑动Slider