直接看代码
.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPropertyAnimation>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();public slots:void onDownClikced();void onShakeClikced();void onTransparencyClikced();private:QPoint point;
};
#endif // WIDGET_H

.cpp

#include "widget.h"
#include <QPushButton>
#include <QVBoxLayout>
#include <qdebug.h>
#include <QGraphicsOpacityEffect>Widget::Widget(QWidget *parent): QWidget(parent)
{this->resize(300,300);QPushButton *downBtn=new QPushButton(tr("Fall Down"),this);QPushButton *shakeBtn=new QPushButton(tr("Shake"),this);QPushButton *transparencyBtn=new QPushButton(tr("Transparency"),this);downBtn->setFixedSize(80,27);shakeBtn->setFixedSize(80,27);transparencyBtn->setFixedSize(80,27);QVBoxLayout *mainLayout=new QVBoxLayout(this);mainLayout->addWidget(downBtn);mainLayout->addWidget(shakeBtn);mainLayout->addWidget(transparencyBtn);mainLayout->setMargin(20);mainLayout->setSpacing(10);this->setLayout(mainLayout);this->move(800,300);point=this->pos();connect(downBtn,&QPushButton::clicked,this,&Widget::onDownClikced);connect(shakeBtn,&QPushButton::clicked,this,&Widget::onShakeClikced);connect(transparencyBtn,&QPushButton::clicked,this,&Widget::onTransparencyClikced);
}Widget::~Widget()
{}void Widget::onDownClikced()
{QPropertyAnimation *animation1 = new QPropertyAnimation(this, "geometry");   //opacity  geometryanimation1->setDuration(400);animation1->setStartValue(QRect(point.x(), point.y()-300, 300, 300));animation1->setEndValue(QRect(point.x(), point.y(), 300, 300));animation1->setEasingCurve(QEasingCurve::OutBounce);   //    OutBounceanimation1->start();// animation1->setLoopCount(5);  //动画执行次数}void Widget::onShakeClikced()
{QPropertyAnimation *animation1 = new QPropertyAnimation(this, "geometry");   //opacity  geometryanimation1->setDuration(400);animation1->setStartValue(QRect(point.x()+20, point.y()-20, 300, 300));animation1->setEndValue(QRect(point.x(), point.y(), 300, 300));animation1->setEasingCurve(QEasingCurve::InOutElastic);   // 抖动效果animation1->start();
}void Widget::onTransparencyClikced()
{//?????
}

效果:

ヾ( ̄▽ ̄)ByeBye

qt动画实现抖动和下坠相关推荐

  1. Qt动画框架The Animation Framework

    一个网友翻译的,没有翻译完,我把剩下的那部分翻译出来贴出来 动画框架是Kinetic(运动)项目的一部分,它的目标是提供一中简单的方法创建动画的和流畅的GUI.借助Qt动画属性,可以提供非常自由的动画 ...

  2. 使用Qt动画框架设计角色的二维动画(二)

    使用Qt动画框架设计角色的二维动画(二) 接上次的 日志. 上次发布demo虽然使用了大量的动画框架.有限状态机框架,但是仍有瑕疵.比如说在用户一直按下按键的时候角色会被"冻"住, ...

  3. Qt动画与Qt坐标小记

    Qt动画 转载自:  <http://jingyan.baidu.com/article/154b46315757b628ca8f4116.html> 和   <http://blo ...

  4. linux 安装rpm qt can't creat,centos 下 Qt Creator 的安装使用

    centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...

  5. rust熔炉怎么带走_Rust游戏中12个实用小技巧,包含无伤下坠、直梯爬楼

    Rust是一款第一人称生存网络游戏,有点像野外求生,但这款游戏内容则更加丰富.刺激.血腥. 在这款游戏中玩家的第一任务就是活下来,而想要活下来你将要接受饥饿.干渴.寒冷等.游戏中玩家需要建造自己的庇护 ...

  6. qt 分辨率问题 安卓_Windows下基于Qt开发Android应用

    作为一个嵌入式工程师,会一个上位机编程语言还是很有必要的,这里推荐各位有精力的学习一下Qt . 学习Qt的优势:学习的人多,资料相对丰富 拖拽控件即可完成界面设计,简单易用 最大的优势:跨平台 本次网 ...

  7. Android m 自定义下拉菜单,Android实现动画效果的自定义下拉菜单功能

    我们在购物APP里面设置收货地址时,都会有让我们选择省份及城市的下拉菜单项.今天我将使用Android原生的 Spinner 控件来实现一个自定义的下拉菜单功能,并配上一个透明渐变动画效果. 要实现的 ...

  8. qt 在点击菜单下的动作之后获取该菜单的名称

    文章目录 qt 在点击菜单下的动作之后获取该菜单的名称 问题: 解决过程: qt 在点击菜单下的动作之后获取该菜单的名称 问题: QMenu 类下有4个信号: void aboutToHide() v ...

  9. 下坠的小鸟(flappy bird)速算版

    下坠的小鸟速算版是根据著名的像素鸟(flappy bird)改编而成的一款运行在pc web上的游戏,它跟传统的玩法稍有不同,你必须时刻计算当前数字的倍数,以便为通过下一个数字缺口做准备,而不仅仅只是 ...

  10. Qt动画框架Animation Framework

    Qt动画框架 Qt动画框架 动画架构 动画框架中的类 动画Qt属性 动画和图形视图框架 缓和曲线 将动画放在一起 Qt动画框架 动画框架旨在为创建动画和平滑的GUI提供一种简便的方法.通过对Qt属性进 ...

最新文章

  1. 【数据库】适用于SQLite的SQL语句(一)
  2. centeros php pgsql,centos php添加pgsql扩展
  3. 秒杀系统 mysql_秒杀系统-介绍
  4. 没错!Python杀死了Excel!
  5. android 从本地服务器下载文件,Retrofit2-如何从服务器下载文件
  6. linux的initrd.img的解压和打包
  7. 【开源】Transformer 在CV领域全面开花:新出跟踪、分割、配准等总结
  8. pandas.tseries.offsets
  9. javascript基础修炼(8)——指向FP世界的箭头函数
  10. 最新Chrome插件开发 api 解析
  11. 计算机在小学英语中的应用,计算机在小学英语教学中的应用.doc
  12. 使用PS制作放大镜效果
  13. seo入门,seo入门基础知识
  14. 视频号怎么运营?视频号怎么赚钱?零基础玩视频号?创作运营变现,你要的干货都在这了!
  15. WordPress重要文件wp-seting.php文件详解
  16. 录屏软件哪个好用?10个免费好用的「录屏软件」推荐
  17. [Redux/Mobx] redux的数据存储和本地储存有什么区别?
  18. 浅谈移动互联网应用的开发
  19. python爬虫之正则表达式-1
  20. Oracle体系结构VI

热门文章

  1. 基(là)础(jī)线段树详解
  2. LVM 逻辑卷管理(原理概念篇)
  3. python装饰器两层和三层_python装饰器为什么要双层嵌套函数
  4. oracle触发器无效且未通过重新验证_更改过程或触发器中的SET选项将导致重新编译...
  5. redis list操作_PHP操作Redis相关函数
  6. storm发布jar包时报找不到主类_咖啡5元一大包,进口饼干10元3包…济南有个临期食品超市,快过期的食品你会买单吗...
  7. dll封装成activex控件_Qt编写自定义控件26-平铺背景控件
  8. jq ajax渲染数据慢,Jquery Ajax 如何实现延时加载 。即很多网站上面的Loading。。。动态提时候,延时几秒,才显示出服务器的响应数据...
  9. 大学计算机社团学什么好,大学哪些社团组织最值得加入?很多人工作后才知道!...
  10. 【题解】守望者的逃离