QT属性动画

时间记录:2024/1/15

一、介绍

属性动画类为QPropertyAnimation,类似于CSS的@keyframes关键帧

二、分类及使用步骤

1.几何动画
(1)创建QPropertyAnimation对象
(2)setPropertyName方法设置属性名称,几何动画可设置的属性名称查看类中的Q_PROPERTY宏定义的属性名称,可用的一个geometry
(3)setStartValue方法设置动画开始的值
(4)setKeyValueAt方法设置动画某个时间段的值
(5)setEndValue方法设置动画结束的值
(6)setDuration方法设置动画执行时间
(7)setLoopCount方法设置动画循环执行次数
(8)setEasingCurve方法设置动画执行的缓和曲线,即速度曲线
(9)start方法开始执行设置的动画
2.颜色动画
(1)使用QGraphicsColorizeEffect类为QWidget间接的设置color属性
(2)QWidget的setGraphicsEffect方法设置动画对象为QGraphicsColorizeEffect类对象
(3)使用普通的QPropertyAnimation方法设置动画属性,开始动画
3.不透明度动画
(1)使用QGraphicsOpacityEffect类为QWidget间接设置opacity属性
4.自定义动画属性
(1)编写宏Q_PROPERTY
宏原型
    1.必须的几个参数type name READ getFunction
    2.示例Q_PROPERTY(int age READ age WRITE setAge)
    3.定义和实现age函数获取值和setAge来设置值,布尔类型设置值函数一般为isxxx

int age() const;//const是为了调用setAge函数时不产生影响
void setAge();

(2)使用QPropertyAnimation类进行动画变换
 ©®™

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/325948.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MetaGPT入门(二)

接着MetaGPT入门(一),在文件里再添加一个role类 class SimpleCoder(Role):def __init__(self,name:str"Alice",profile:str"SimpleCoder",**kwargs):super().__init__(name,profile,**kwargs)self._init_actions([Write…

【设计模式-3.3】结构型——享元模式

说明:说明:本文介绍设计模式中结构型设计模式中的,享元模式; 游戏地图 在一些闯关类的游戏,如超级玛丽、坦克大战里面,游戏的背景每一个关卡都不相同,但仔细观察可以发现,其都是用…

第十五讲_css水平垂直居中的技巧

css水平垂直居中的技巧 1. 水平垂直居中(场景一)2. 水平垂直居中(场景二)3. 水平垂直居中(场景三)4. 水平垂直居中(场景四) 1. 水平垂直居中(场景一) 条件&a…

Python UI框架库之kivy使用详解

概要 Python是一种广泛使用的编程语言,而Kivy是一个用于创建跨平台移动应用和多点触控应用的开源Python框架。Kivy的设计目标是提供一种简单而强大的方式来构建富有创意的用户界面和交互体验。本文将详细介绍Kivy的基本概念、核心特性、布局系统、用户界面设计和实…

【服务器数据恢复】服务器迁移数据时lun数据丢失的数据恢复案例

服务器数据恢复环境&服务器故障: 一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据,服务器管理界面出现报错。经过检查发现服务器中一个lun的数据丢失。 服务器数据恢复过程: 1、将故障服务器中所有磁盘…

macOS 13(本机)golang程序交叉编译成 ARM架构

## 背景 golang程序(JuiceFS)需要支持ARM64架构,重新编译; 本地环境:macOS:13 ## 操作 安装交叉编译工具: brew install FiloSottile/musl-cross/musl-cross --with-aarch64 可以在 /usr/l…

【MATLAB随笔】遗传算法优化的BP神经网络(随笔,不是很详细)

文章目录 一、算法思想1.1 BP神经网络1.2 遗传算法1.3 遗传算法优化的BP神经网络 二、代码解读2.1 数据预处理2.2 GABP2.3 部分函数说明 一、算法思想 1.1 BP神经网络 BP神经网络(Backpropagation Neural Network,反向传播神经网络)是一种监…

【Unity】【Pico】【VR开发】为何PICO打包后真机运行闪退

【背景】 设置步骤,项目配置都没问题,Build也成功,Unity版本是符合要求的2022LTS版本,但是一在真机上运行就闪退。 【分析】 由于并没有开版权验证,而且闪退后也并没有弹框说版权问题,所以还是怀疑环境有…

如何有效构建进攻性的网络安全防护策略

文章目录 前言一、进攻性安全策略的价值(一)进攻性安全和防御性安全的区别(二)进攻性安全带来一种新的测试和防御的方法(三)进攻性安全策略也比防御性安全策略更具前瞻性 二、进攻性安全策略的类型&#xf…

欠拟合与过拟合

欠拟合: 模型在训练集上表现不好,在测试集上也表现不好。模型过于简单 欠拟合在训练集和测试集上的误差都较大 通过代码展示欠拟合 import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from skle…

【基于 InternLM 和 LangChain 搭建你的知识库】学习笔记

学习参考文档【基于 InternLM 和 LangChain 搭建你的知识库】 学习参考链接【书生・浦语大模型实战营第三课作业(基础进阶)】 理论 实战 收集原始数据 收集2018年-2020年几年间的优秀数学建模论文 修改脚本文件,测试文件 作业 复现课程知识库助手搭建过程 La…

直接在引导文件或引导U盘上洗白(适用于新装)

准备工作 方案适用于,在原机器上使用PE引导修改、U盘引导/SATA引导(引导盘可拆到其它机器上操作)、虚拟机制作镜像制作前期 所需软件 DiskGenius、读写镜像文件 ChipEasy_芯片无忧、ChipGenius 是读取u盘PID VID用的。 Notepad2(好用的编辑工具,可用来改PID和VID) …

基于 Level set 方法的医学图像分割

摘 要 医学图像分割是计算机辅助诊断系统设计中的关键技术。对于医学图像分割问题,它一般可分为两部分:(l)图像中特定目标区域(器官或组织)的识别;(2)目标区域完整性的描述与提取。相比于其他图像,医学图像的复杂性和多样性,使得传统的基于底层图像信息的分割方法很难取得好的…

win10系统postgresql重装软件后原数据如何迁移

1、备份postgresql安装目录下的data文件夹 2、重新安装postgresql同一版本的软件 3、停止postgresql-x64-12服务 4、替换data文件夹 删除postgresql安装后新的的data文件夹 删除后将第一步备份的data文件夹粘贴过来,还是同一位置 5、启动postgresql-x64-12服务 …

微信接入知识库定制化的AI会怎样?

想不想要一个更加了解你的chatgpt?或者想给chatgpt加入特定的知识库? LinkAI来帮你! 通过LinkAI,无需openai的api key,直接使用chatgpt。无需考虑服务器代理配置,openai账号注册等!自定义知识…

chromium+clangd快速代码跳转

在开发chromium的时候我们使用vscode工具进行开发,如果使用C插件发现很容就卡死计算机了。 所以我们使用clangd工具来查看chromium的代码。 一、安装 1.1 安装cland 在vscode中安装还是很简单的。 输入cland,点击安装即可 1.2 安装Download languag…

【MATLAB】逐次变分模态分解SVMD信号分解算法

有意向获取代码,请转文末观看代码获取方式~ 1 基本定义 逐次变分模态分解(Sequential Variational Mode Decomposition,简称SVMD)是一种用于信号处理和数据分析的方法。它可以将复杂的信号分解为一系列模态函数,每个…

在线项目实习|2024寒假项目实战火热报名中!

一、在线实习项目分类 二、在线实习项目流程 三、在线实习项目优惠及项目特色 1、师傅带练教学模式,手把手教你掌握 采用“师带徒”的教学模式,课程以“项目前置知识学习 师傅带练 项目实战”贯穿,强调动手实操,内容以代码落地为…

linux终端上传github提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交

问题: 提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外 提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 提示:(如 git pull ...&#xff…

墙地砖外形检测的技术方案-图像形态学

基础理论 得到的灰度图像需进行二值化处理和区域填充,涉及两个步骤,第一,对图像进行分割,将图像分割成目标和背景; 第二,对分割后图像进行区域填充。本例中的背景为黑色,可以通过基本的全局阈…