当前位置:首页 > 编程笔记 > 正文
已解决

【Qt之动画】详解

来自网友在路上 148848提问 提问时间:2023-11-04 02:53:54阅读次数: 48

最佳答案 问答题库488位专家为你答疑解惑

概述

QPropertyAnimation类用于动画化Qt属性。

QPropertyAnimation类在Qt属性上进行插值。由于属性值存储在QVariants中,所以该类继承自QVariantAnimation,并支持与其父类相同的元类型的动画。

声明属性的类必须是QObject。为了可以动画化一个属性,它必须提供一个setter(以便QPropertyAnimation可以设置属性的值)。请注意,这使得可以动画化许多Qt的部件。
下面是一个例子:

  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();

属性名和应该动画化的QObject实例被传递给构造函数。然后可以指定属性的起始值和结束值。对于自己实现的类中的属性,过程是一样的-只需使用QVariantAnimation检查您的QVariant类型是否受支持。

QVariantAnimation类的说明详细解释了如何设置动画。但是请注意,如果没有设置起始值,该属性将以在创建QPropertyAnimation实例时的值作为起始值。

QPropertyAnimation单独运行得很好。对于复杂的动画,例如包含多个对象的动画,可以使用QAnimationGroup。动画组是一个包含其他动画的动画,可以管理其动画的播放时间。请参考QParallelAnimationGroup获取示例。

另请可以参考 QVariantAnimation, QAnimationGroup, 和The Animation Framework

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【Qt之动画】详解":http://eshow365.cn/6-31439-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!