学习笔记(1):Qt 动画框架初识

首先是一段废话。 一直以来都想要写点东西记录自己的学习历程,好知道自己到底学到了什么?  可是太懒了,曾经写过几篇后来就被渐渐扼杀在摇篮里了。 现在回想起来对那些文章的内容还记忆深刻。所以我相信通过写博客总结自己的学习是非常有益的。

言归正传,今天学习的内容是Qt动画简介。

先来点科普,传说Qt的动画框架相当复杂, 

基本理论是基于David Harel的有限状态图(finite Statechart)。 

                执行语句则使用SCXML(State Chart XML,状态图XML)。

                框架建立在QObject和Qt属性系统的基础之上。


最简单的动画实现就是为QObject创建一个QPropertyAnimation(属性动画)。  然后为动画设置持续时间、初始值和最终值等参数。

例:

    QWidget* w = new QWidget(this); //假设this是一个QWidget。 在一个Widget中创建一个小Widget
    QPropertyAnimation* animation = new QPropertyAnimation(w,"pos",this);//创建一个属性动画, 动画的目标是w  属性是位置
    animation->setDuration(10000);//设置持续时间为10s
    animation->setEasingCurve(QEasingCurve::InOutBack);//设置插值方法,通俗的说是设置动画效果。
    animation->setKeyValueAt(0,QPoint(0,0));//插值,  值是0 - 1.0之间    0值也可以用setStartValue()        
    animation->setKeyValueAt(1.0,QPoint(100,100));
    animation->start(QAbstractAnimation::DeleteWhenStopped); //启动动画,参数是动画删除策略。 默认是KeepWhenStopped(结束时不删除)。
更多详细内容请查看: fearlazy.com




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fearlazy

打赏是不可能的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值