Qt仿音乐播放器:动画类

一、基本属性

复制代码
#include<QPropertyAnimation>//头文件

property:性质属性

animation:动画、动画效果、动漫

QPropertyAnimation:可以对对任何QObject的子类的属性进行动画的展示;只要存在set方法

QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr)

参数:

QObject *target:此参数表示要被操作对象的地址

const QByteArray &propertyName:请大家看一下上方红色的文字;此参数里面所写的内容是对target对象本身带有的属性;比如:传入的是geometry;target本身有geometry属性;同时还具有setGeometry()函数;这样就可以在动画类内部自动进行setGeometry(),改变属性,实现动画;

QObject *parent = nullptr:此参数表示父亲对象的地址;并挂起对象树

套路一:

复制代码
QPropertyAnimation* line1Animal=new QPropertyAnimation(ui->line1,"geometry",this);
    
line1Animal->setDuration(2000);// 动画运行效果持续多少毫秒
line1Animal->setKeyValueAt(0,QRect(0,15,3,0)); //设置第0帧
line1Animal->setKeyValueAt(0.5,QRect(0,0,3,15));//设置第0.5帧
line1Animal->setKeyValueAt(1,QRect(0,15,3,0));//设置最后一帧
line1Animal->setLoopCount(-1);//若为-1,动画一直运行、若大于0,则重复多少次后停止;
line1Animal->start();//开始运行动画;

套路二:

复制代码
QPropertyAnimation *animation = new QPropertyAnimation(myWidget, "geometry");
animation->setDuration(10000);
animation->setStartValue(QRect(0, 0, 100, 30));//开始帧
animation->setEndValue(QRect(250, 250, 100, 30));//结束帧
animation->start();//开始动画;
相关推荐
isyangli_blog3 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008114 小时前
FastAPI APIRouter
开发语言·python
Benszen4 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆4 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木4 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
杨充4 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~4 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
basketball6165 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
春生野草5 小时前
反射、Tomcat执行
java·开发语言
雪的季节6 小时前
企业级 Qt 全功能项目
开发语言·数据库·qt