• 5006阅读
  • 2回复

以gif动画为背景的小技巧 [复制链接]

上一主题 下一主题
离线318065268
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-20
Widget::Widget(QWidget *parent) : QWidget(parent)
{

    movie = new QMovie("../test.gif");
    p = movie->currentPixmap();

    QTimer *timer = new QTimer(this);
    timer->start(300);

    connect(timer,SIGNAL(timeout()),this,SLOT(setBackgroundPicture()));
    connect(timer,SIGNAL(timeout()),movie,SLOT(jumpToNextFrame()));
}
void Widget::setBackgroundPicture()
{
    QPalette pal;
    pal.setBrush(QPalette::Window,QBrush(p));
    setPalette(pal);
    p = movie->currentPixmap();
}

具体的代码如上所示,很好懂,思路就是用个定时器,每隔300毫秒就从电影文件中读取一帧为QPixmap,然后将该pixmap设置为背景图片。同时电影文件自动跳到下一帧。
Email  rsail@126.com(私人邮箱)
QQ:   318065268
离线tcg1983

只看该作者 1楼 发表于: 2009-11-27
不错,可以借鉴,谢谢分享
离线tcg1983

只看该作者 2楼 发表于: 2009-11-27
不错,可以借鉴,谢谢分享
快速回复
限100 字节
 
上一个 下一个