设为首页 加入收藏

TOP

用Qt动画框架设计飞入-消失特效【附源码】
2014-11-24 07:14:57 来源: 作者: 【 】 浏览:0
Tags:动画 框架 设计 飞入 消失 特效 源码

Qt动画框架很强大,只要你想得到,它就有可能帮你实现。这一次我将抽取上一个演示程序的部分来进行介绍。这一部分我命名为“飞入 - 消失”特效,主要用在文字的显示方面,从这点上说很像PowerPoint上面特效的一种。


下面是FlyInVanish类的部分定义:


class FlyInVanishEffect: public QObject// 飞入 - 消失特效类
{
Q_OBJECT
Q_PROPERTY( QPointF Pos READ Pos WRITE setPos )
public:
FlyInVanishEffect( QWidget* pWidget = 0 );
virtual ~FlyInVanishEffect( void );
void AddText( const QString& text );
void RenderPixmap( QPixmap& pixmap );
signals:
void Start( void );
void VanishStart( void );
public slots:
void StartEffect( void );
private slots:
void PauseFinished( void );
private:
void PreparePixmap( const QString& text );



DECLRARE_PROPERTY_WITH_GETTERS_AND_SETTERS( QPointF, Pos )
QStringList m_StringList;// 字符串列表



// 状态机部分
QState m_InitialState, m_MiddleState, m_FinalState;
QStateMachine m_Machine;



// 动画部分
QPropertyAnimation m_FlyInAnim, m_RiseAnim, m_VanishAnim;
QParallelAnimationGroup m_VanishAnimGrp;
QTimer m_PauseTimer;
bool m_HasFinished;



// 绘图部分
QPointF m_SavedPos;
LinearGradient m_Gradient;
QPixmap m_TextPixmap;



// 父窗口指针
QWidget* m_pWidget;
};


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用OpenGL的glBindTexture()函数.. 下一篇OpenGL中glFrustum()和gluPerspec..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)