分类: LINUX
gif图片可以分为静态图片和动态图片,但无论是那种图片都可以通过以下两种方式显示(前提是./configure时有指定-gif):
1利用QMovie+QLabel,代码如下:
movie = new QMovie("./images/bkg.gif");//这个资源不用写到source.qrc中,只要路径对了就行,还有就是movie最好是new的
不然如果是写到一个方法里面的话movie可以被销毁从而导致gif无法显示
label->setMovie(movie);
qDebug()<<"..rrrr.."<<movie->isValid();//测试是否加在成功
movie->start();
2.利用drawPixmap 画。(动态的图片只能显示第一桢,而且因该重写paintEvent)代码如下:
void CourseInfoPage::paintEvent(QPaintEvent* event)
{
QPixmap pic(":/images/bkg.gif");//这个要到资源文件source.qrc里面,其他的没有试过能成功不
QPainter painter(this);
painter.drawPixmap(m_ui->frame_picture->x(),m_ui->frame_picture->y(),m_ui->frame_picture->width(),m_ui->frame_picture->height(),pic);
}
联系客服