Qt动画设置

57 篇文章 7 订阅

主要用到了QPropertyAnimation这个类

形状和大小很简单直接设置就好

如:QPropertyAnimation *logo_text_animaton_geo;//渐变动画类

    logo_text_animaton_geo = new QPropertyAnimation(logo_text_lab,"geometry",this);

    logo_text_animaton_geo->setDuration(AnimationTime);

    logo_text_animaton_geo->setStartValue(rect开始);
    logo_text_animaton_geo->setEndValue(rect结束);


    // 缓和曲线风格,这个有好多钟,自己可以看看
    logo_text_animaton_geo->setEasingCurve(QEasingCurve::InCurve); 

//logo_text_animaton_geo ->start(QAbstractAnimation::DeleteWhenStopped);  //播放完就释放空间,这个也有好多种自己看

渐变没有现成的对控件的设置 只能让控件绑定一个QGraphicsOpacityEffect 再用动画类对其设置

如:       QGraphicsOpacityEffect *logo_text_opacity;//渐变控制类
              QPropertyAnimation *logo_text_animaton_opacity;//形状大小动画类

            //加入透明类控制
            logo_text_lab = ui.logo_text_lab;
            logo_text_opacity = new QGraphicsOpacityEffect(logo_text_lab);
            logo_text_opacity->setOpacity(0.1);
            logo_text_lab->setGraphicsEffect(logo_text_opacity);
         
           logo_text_animaton_opacity = new QPropertyAnimation(logo_text_opacity, "opacity", this);


           logo_text_animaton_opacity->setDuration(AnimationTime);
           logo_text_animaton_opacity->setStartValue(0.1);
           logo_text_animaton_opacity->setEndValue(1.0);

//放入一个group实现动画同时播放

    QParallelAnimationGroup *animation_group;

    animation_group = new QParallelAnimationGroup;

    animation_group->addAnimation(logo_text_animaton_geo);
    animation_group->addAnimation(logo_text_animaton_opacity);

 

    animation_group->start();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值