Qt模仿QQ震动效果
构造里面
m_animation = new QPropertyAnimation(this,"pos");
void Widget::ShakeAnimation()
{
QPoint pos = this->pos();
//动画还没有结束就先立马停止,防止用户不停的点击
if(m_animation->state() == QPropertyAnimation::Running)
{
m_animation->stop();
}
m_animation->setDuration(500);
m_animation->setStartValue(pos);
m_animation->setKeyValueAt(0.1,pos + QPoint(-5,-5));
m_animation->setKeyValueAt(0.2,pos + QPoint(0,-5));
m_animation->setKeyValueAt(0.3,pos + QPoint(5,0));
m_animation->setKeyValueAt(0.4,pos + QPoint(6,1));
m_animation->setKeyValueAt(0.5,pos + QPoint(7,-7));
m_animation->setKeyValueAt(0.6,pos + QPoint(-6,6));
m_animation->setKeyValueAt(0.7,pos + QPoint(-8,0));
m_animation->setKeyValueAt(0.8,pos + QPoint(0,6));
m_animation->setKeyValueAt(0.9,pos + QPoint(4,2));
m_animation->setEndValue(pos);
m_animation->start();
}
很简单的功能,希望大家也分享下关于Qt的小知识
评论列表(9条)
嘻嘻嘻,我已经从Qt入坑到WPF啦
@小飞机MLA:恭喜恭喜,不过跨平台Qt还是首选,如果是Windows那毫不犹豫选择WPF。
@Dotnet9:嘿嘿,之前想学习Qt就是因为它是跨平台的首选,现在那个软件做完了感觉跨平台不是我的刚需,还是要在Windows上跑,而且我们单位电脑还没有Window10,所系就选WPF啦,毕竟想做Windows桌面应用不学XAML也说不过去啊,嘻嘻。
@小飞机MLA:您是?您是这篇文章的作者吗?
@Dotnet9:不是不是,我是一个普普通通的小白,是为了学习WPF来到了贵地,偶然看到了Qt,感慨了以下嘻嘻。
@小飞机MLA:嗯,我原来做过2年多Qt,Qt的语法还是挺不错的,您可以到问答社区留言,帮站长试试问答社区功能,谢谢您。
@Dotnet9:嘻嘻嘻,我在留言板留言了,试了试还不错,就是我回车分段写的,提交显示之后就成一整段了昂。多向大佬学习!
@小飞机MLA:要的,经历挺丰富的,我去加个表情试试。
@小飞机MLA:有学习需要的话可以随时给站长留言,站长可以免费提供已有的资源。