【Qt之动画】详解
  yQAl4kecrO8W 2023年12月23日 31 0


概述

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月23日 0

暂无评论

推荐阅读
yQAl4kecrO8W