首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt图片浏览时如何加入动画效果

2012-06-03 
Qt图片浏览时怎么加入动画效果?在我的界面里有个开始按钮,将这个按钮的clicked()信号和on_start_clicked()

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

热点排行