如何在Qt Creator上为媒体播放器制作自定义进度条

时间:2017-07-17 12:14:13

标签: qt

我正在开发一个基于libvc的媒体播放器,我想制作一个像Kmplayer中那样的进度条,我想在一个显示进度的栏中,但也允许我改变它的位置单击栏上所需位置的电影。此外,Kmplayer的进度条显示左侧电影的标题和严格侧的持续时间/经过时间。(附图显示以绿色标记的所需效果)

如何复制该外观?我认为我需要创建自己的QProgressBar子类但是有人能指出我的方向吗? ......

Kmplayer进度条图片

1 个答案:

答案 0 :(得分:0)

这是paintEvent()的一个例子:

void ProgressBar::paintEvent(QPaintEvent *e)
{
    QProgressBar::paintEvent(e); // draw default
    // draw your information
    QPainter painter(this);

    // the pen
    QPen pen = painter.pen();
    pen.setColor(Qt::black);

    // write
    painter.setPen(pen);
    painter.drawText(1, 1, width()-1, height()-1,
        Qt::AlignLeft | Qt::AlignVCenter,
        "filename.mp4");
    painter.drawText(1, 1, width()-1, height()-1,
        Qt::AlignRight | Qt::AlignVCenter,
        "your time");
    painter.end();
}

会给你这样的东西:
your own progress bar