Qt图片浏览时怎么加入动画效果?
在我的界面里有个开始按钮,将这个按钮的clicked()信号和on_start_clicked()槽函数连接,timeout()和displayImage()连接,我的动画代码加到了displayImage()函数里,为什么没有实现动画效果?相关函数代码如下:
头文件中类的私有变量:
QTimer *timer;
QPropertyAnimation *animation;
QLabel *label;
QPixmap pix;
QMatrix matrix;
私有槽函数:
void Widget::on_start_clicked()
{
timer->start(1000);
}
void Widget::displayImage()
{
pix.load(imageList[i]);//数组从1开始
w = label->width();
h = label->height();//Qt::IgnoreAspectRatio
pix = pix.scaled(w,h,Qt::IgnoreAspectRatio);//设置图片的大小和label的大小相同
label->setPixmap(pix);
animation->setDuration(2000);
animation->setStartValue(QRect(-w, 0, w, h));
animation->setEndValue(QRect(0, 0, w, h));
animation->start();
label->move(-w, -h);
image_positon = QString::number(i);
i++;
if(i > j)
i=1;
ui->image_number->setText(tr("%1 / %2").arg(image_sum).arg(image_positon));
}
构造函数中有这句:connect(timer,SIGNAL(timeout()),this,SLOT(displayImage()));
我想实现的功能是图片自动播放,每隔一秒执行一次displayImage()函数,在图片播放过程中伴随图片显示特效,每张图片在播放时有从左侧飞入的效果,但是我的代码执行只有自动播放效果,没有从左侧飞入的图片特效,大家帮我分析一下原因在哪里吧!求大侠指点...
[解决办法]
我刚好做过这方面,LZ请看我的博客:
http://blog.csdn.net/aaa20090987/article/details/6858611