(QT C ++)基于滑块/拨号值动画GIF

时间:2013-07-12 04:20:32

标签: c++ qt slider frame gif

我对Qt相对较新,我有一个看似简单的问题。

如何设置滑块/线条编辑,当设置为某个值(0)时,它会显示GIF动画的开头,然后当设置为更高的值(12000)时,它会进入更远的帧。动画? GIF图像将位于滑块旁边,而不是单独的窗口。几乎任何方式都可以接受。 :)

由于

1 个答案:

答案 0 :(得分:2)

您可以使用QMovie来操作动画GIF图像。您需要设置QMovie::CacheAll缓存模式才能使倒退成为可能。在表单中放置一个滑块和一个标签。添加QMovie* movie私有类成员。

在构造函数中:

movie = new QMovie("c:/tmp/sample.gif", "GIF", this);
movie->setCacheMode(QMovie::CacheAll);
ui->slider->setRange(0, movie->frameCount() - 1);
on_slider_valueChanged(0);

在插槽中:

void MainWindow::on_slider_valueChanged(int value) {
  movie->jumpToFrame(value);
  ui->label->setPixmap(movie->currentPixmap());
}