当前位置: 代码迷 >> QT开发 >> 怎样实现button边缩小边挪动
  详细解决方案

怎样实现button边缩小边挪动

热度:84   发布时间:2016-04-25 03:19:41.0
怎样实现button边缩小边移动
 QPropertyAnimation animation1(&button1,"geometry");
    animation1.setDuration(1000);
    animation1.setKeyValueAt(0,QRect(0,0,1366,768));
    animation1.setKeyValueAt(0.4,QRect(239.1,134.4,887.9,499.2));
    animation1.setKeyValueAt(1,QRect(-887.9,134.4,887.9,499.2));
用以上方法,只能实现button1先缩小再平移。如何实现边缩小边移动?急求各位大侠赐教!
------解决方案--------------------
引用:
 QPropertyAnimation animation1(&button1,"geometry");
    animation1.setDuration(1000);
    animation1.setKeyValueAt(0,QRect(0,0,1366,768));
    animation1.setKeyValueAt(0.4,QRect(239.1,134.4,887.9,499.2));
    animation1.setKeyValueAt(1,QRect(-887.9,134.4,887.9,499.2));
用以上方法,只能实现button1先缩小再平移。如何实现边缩小边移动?急求各位大侠赐教!


你的代码没动画效果吧?

QPropertyAnimation *animation1;
    animation1 = new QPropertyAnimation(ui->pushButton_2,"geometry");
           // (ui->pushButton_2,"geometry");
         animation1->setDuration(1000);
         animation1->setStartValue(QRect(0,0,100,100));
         animation1->setKeyValueAt(0.4,QRect(100,0,20,20));
         animation1->setEndValue(QRect(250,0,10,10));
         animation1->start();

我试了一下,看起来就是一边移动一边缩小啊
------解决方案--------------------
引用:
有动画效果的。不过我是想实现一个从全屏向中间位置缩小,但同时还从左边移出屏幕的一个过程。这样的话坐标点怎么定呀。像我之前的代码,是先实现向屏幕中间缩小,然后向左侧平移。现在想把这两部合起来。


我觉得直接在qtimer里设置Geometry可能会好点。
就是有些数学计算,麻烦些
这样确实不够平滑。
------解决方案--------------------
QParallelAnimationGroup
------解决方案--------------------
没问题,可以实现,Qt自带的帮助里有QParallelAnimationGroup的例子。
  相关解决方案