Qt中文文档-QAbstractAnimation
来源:互联网 发布:淘宝卖家在哪充值金币 编辑:程序博客网 时间:2024/06/16 23:00
本文首发在个人网站www.qtdoc.cn
- 本文首发在个人网站wwwqtdoccn
- Qt中文文档-QAbstractAnimation 类
- QAbstractAnimation 是所有的动画相关的基类
- 简述
- 公共类型
- 属性
- public函数
- 公有槽
- 公有信号
- protect函数
- 可以重写的protect函数
- 详细说明
- 成员变量文档
- enum QAbstractAnimationDeletionPolicy
- enum QAbstractAnimationDirection
- enum QAbstractAnimationState
- 文档属性
- currentLoop const int
- currentTime int
- direction Direction
- duration const int
- loopCount int
- state const State
- 成员函数
- QAbstractAnimationQAbstractAnimationQObject parent Q_NULLPTR
- QAbstractAnimationQAbstractAnimation virtual
- void QAbstractAnimationcurrentLoopChangedint currentLoop signal
- int QAbstractAnimationcurrentLoopTime const
- void QAbstractAnimationdirectionChangedQAbstractAnimationDirection newDirection signal
- int QAbstractAnimationduration const pure virtual
- bool QAbstractAnimationeventQEvent event virtual protected
- void QAbstractAnimationfinished signal
- QAnimationGroup QAbstractAnimationgroup const
- void QAbstractAnimationpause slot
- void QAbstractAnimationresume slot
- void QAbstractAnimationsetPausedbool paused slot
- void QAbstractAnimationstartQAbstractAnimationDeletionPolicy policy KeepWhenStopped slot
- void QAbstractAnimationstateChangedQAbstractAnimationState newState QAbstractAnimationState oldState signal
- void QAbstractAnimationstop slot
- int QAbstractAnimationtotalDuration const
- void QAbstractAnimationupdateCurrentTimeint currentTime pure virtual protected
- void QAbstractAnimationupdateDirectionQAbstractAnimationDirection direction virtual protected
- void QAbstractAnimationupdateStateQAbstractAnimationState newState QAbstractAnimationState oldState
Qt中文文档-QAbstractAnimation 类
QAbstractAnimation 是所有的动画相关的基类
QAbstractAnimation 定义了所有动画类相关的基础功能,通过继承该类,你可以实现动画的其它功能,或者添加自定义的特效。
#include<QAbstractAnimation>
qmake: QT+=core Since: Qt 4.6 Inherits: QObject Inherited By QAnimationGroup,QPauseAnimation,QVariantAnimation简述
公共类型
属性
public函数
公有槽
公有信号
protect函数
可以重写的protect函数
详细说明
QAbstractAnimation类是所有动画的基础
该类是所有动画类的基类。通过继承这个类,你可以创建自定义的动画。
动画的进度的当前时间由函数currentLoopTime()控制,动画从0毫秒开始到其最后的持续时间(duration())。该值在动画运行时会自动更新。也可以由函数setCurrentTime()来进行设置。
在任何时候,动画的状态都只有三种:Running, Stopped,Paused(枚举变量enum State),可以通过函数start(),stop(),pause(),或者resume()来改变当前动画的状态。QAbstractAnimation在状态改变时将会发出信号stateChanged()。
通过设置loopCount属性,动画可以循环任意次数。当动画的时间到达duration()函数的返回值时,它将重置当前时间并继续运行。当duration为-1,将无限循环下去。当当前时间等于duration()时,并且处理最后一次循环时,动画将进入Stopped()状态,并发送finished()信号。
QAbstractAnimation为子类提供了纯虚函数来跟踪动画的进度:duration()和updateCurrentTime()。duration()函数提供动画的持续时间。(这特么不就是函数名字么?)。当动画时间变化时,QAbstractAnimation会调用updateCurrentTime()函数。通过重新实现该函数,你可以自己追踪动画的进度。不要在动画间隔之间来调用此功能,虽然此函数一分钟刷新60次。
通过重新实现updateState()函数,你可以自己追踪动画状态的改变,这对于不受时间驱动的动画特别有用
另见 QVariantAnimation , QPropertyAnimation , QAnimationGroup,The Animation Framework.
成员变量文档
enum QAbstractAnimation::DeletionPolicy
enum QAbstractAnimation::Direction
该枚举描述了动画在运行时的方向
enum QAbstractAnimation::State
该枚举描述了动画的状态
文档属性
currentLoop : const int
此属性为该动画当前的循环数
此属性描述了动画当前的循环数。默认的循环次数为1,所以当前的循环次数永远为0。如果循环总数为2的话,动画运行超过其duration或者重新开始,或者重置时间等等,总数则会减一。
当当前循环变化时,QAbstractAnimation会发出currentLoopChanged()信号
调用函数
通知信号
currentTime : int
此属性描述了动画当前的时间与进度
此属性描述了动画当前的时间,你可以通过调用函数setCurrentTime()来改变当前的时间。也可以通过调用start()函数让动画自己运行,随着动画的运行时间也会自己变化。
动画时间从0开始,以tatalDuration()函数结束。
调用函数
另参见函数loopCount()与currentLoopTime()
direction : Direction
该属性为动画运行时的方向
简单的说就是正常播放的方向,还是倒放的方向(官方文档也有点啰嗦了)
默认方向为Forward
调用函数
通知信号
duration : const int
该属性描述了动画已经播放的时间
如果duration为-1,则表示duration未定义,而且动画将会忽略loopCount属性。
调用函数
loopCount : int
该属性保存了动画的循环次数
默认下,该值为1,表示该动画只播放一次。通过改变其值,动画也会改变循环的次数。当该值为-1时,动画将会永远循环。如果动画没有duration属性,loopCount则无效。默认值为1。
调用函数
state : const State
动画状态
此功能描述了动画的当前状态。当动画状态改变时,QAbstractAnimation发出stateChanged()信号。
调用函数
通知信号
成员函数
QAbstractAnimation::QAbstractAnimation(QObject *parent = Q_NULLPTR)
构造QAbstractAnimation的基类,并将parent参数传递给QObject的构造函数。
另见QVariantAnimation, QAnimationGroup
QAbstractAnimation::~QAbstractAnimation() [virtual]
析构函数,当QAbstractAnimation运行结束后会自动销毁。如果QAbstractAnimation是QAnimationGroup的一部分,它会在破坏之前自动删除。
void QAbstractAnimation::currentLoopChanged(int currentLoop) [signal]
当当前循环发生变化时,QAbstractAnimation会发出该信号。currentLoop()为当前循环
注意:属性currentLoop()的通知信号
另见currentLoop()和loopCount()
int QAbstractAnimation::currentLoopTime() const
返回当前循环的当前时间。它的区间范围为[0 - duration()]
**另见 duration()和currentTime()
void QAbstractAnimation::directionChanged(QAbstractAnimation::Direction newDirection) [signal]
每当方向改变时,QAbstractAnimation会发送此信号。newDirection为新的方向。
注意:属性direction的通知信号
另见direction()
int QAbstractAnimation::duration() const [pure virtual]
这个纯虚函数返回QAbstractAnimation的持续时间,并定义QAbstractAnimation多久时间更新一次当前时间。duration是本地的,并且不包括循环总数。
当其值为-1时表示动画没有定义持续时间;动画将永远运行下去直到主动停止它。这对于非时间驱动的动画或者无法预测其持续时间的动画(例如游戏中自动播放的音乐背景)十分有用。
如果QAnimationGroup中的QAbstractAnimation是并行的,duration则是所有动画中最长的。如果
QAnimationGroup是线性顺序的,其duration是所有动画的总和。
注意:QAbstractAnimation获得duration的函数
另见:loopCount()
bool QAbstractAnimation::event(QEvent* event) [virtual protected]
QObject::event()的重新实现
void QAbstractAnimation::finished() [signal]
QAbstractAnimation在动画停止之后发送此信号,并且表示已经结束
该信号在stateChanged()之后发送
另见stateChanged()
QAnimationGroup *QAbstractAnimation::group() const
如果QAbstractAnimation是QAnimationGroup的一部分,则会返回QAnimationGroup的指针;否则返回NULL
另见QAnimationGroup::addAnimation()
void QAbstractAnimation::pause() [slot]
暂停动画。当动画暂停时,state()将返回Paused。在调用函数resume()或者start()前,currentTime()的值将会保持不变。如果想从当前时间继续,则需要调用resume()函数。
* 另见start(),state(),resume()*
void QAbstractAnimation::resume() [slot]
暂停后恢复动画。当动画恢复时,QAbstractAnimation会发出resume()信号和stateChanged()信号。当前时间将不会变化。
另见start(),pause(),state()
void QAbstractAnimation::setPaused(bool paused) [slot]
如果paused为true,动画暂停。如果pause为false,动画恢复。
另见 state(),pause(),resume().
void QAbstractAnimation::start(QAbstractAnimation::DeletionPolicy policy = KeepWhenStopped) [slot]
开始动画。policy参数表示在动画结束后是否删除。动画启动时,会发出stateChanged()信号,state()会返回Running。当控件在到达event loop时,动画会自动播放,并在动画播放时会定期调用updateCurrentTime().
如果动画当前已经停止或者已经结束,调用该函数将会回滚动画并从头开始。当动画到达终点时,动画将会停止。或者当其循环次数大于1时也会从头开始。
如果动画正在运行时,调用该函数不会有任何变化。
另见函数stop(),state()
void QAbstractAnimation::stateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) [signal]
每当动画的状态从oldState变为newState时,QAbstractAnimation会发出此信号。在调用virtual updateState()函数时也会发送此信号。
注意:这是动画状态的通知信号
另见updateState()
void QAbstractAnimation::stop() [slot]
停止动画。当动画停止时,会发出stateChanged()信号,state()返回Stopped。当前时间不会变化。
如果动画到达终点后自己结束(比如currentLoopTime() == duration() 或者currentLoop() > loopCount() - 1),则会发送finished()信号。
**另见start()和state()。
int QAbstractAnimation::totalDuration() const
返货动画总和的有效持续时间(当然不只是一次的,肯定是loopCount()的总次数)
另参见duration()和currentTime()
void QAbstractAnimation::updateCurrentTime(int currentTime) [pure virtual protected]
每次动画的currentTime发生变化时,就会调用这个纯虚函数。一般QAbstractAnimation的子类会重新实现这个函数,或者你自己实现
另见 updateState()
void QAbstractAnimation::updateDirection(QAbstractAnimation::Direction direction) [virtual protected]
当动画的播放方向改变时,QAbstractAnimation会调用该虚函数。参数direction表示新的方向。
另见setDirection(),direction()
void QAbstractAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
当动画的状态改变时,此函数会自动调用。
**另见start(),stop(),pause(),resume()
- Qt中文文档-QAbstractAnimation
- Qt中文参考文档
- Qt中文文档-QAbstractAudioDeviceInfo
- Qt中文文档-QAbstractAudioInput类
- Qt中文文档-QAbstractAudioOutput类
- Qt中文文档-QAbstractAxis类
- Qt中文帮助文档,非常之方便
- QT智能指针QSharedPointer之中文文档不要忽悠我
- Qt中文参考文档(网上在线教程)、QTCN开发网和Qt入门视频
- Qt中文
- QT 解析 html文档中带中文出错的解决为法
- Qt参考文档
- QT文档打印;
- QT在线简体中文文档
- Qt文档系统分析(一)
- Qt文档系统分析(二)
- Qt文档系统分析(三)
- QMimeData 【Qt帮助文档】
- 使用Keras由零开始快速构造自己的深度学习模型
- MongoDB学习笔记(六) MongoDB索引用法和效率分析
- docker学习笔记(三)
- python应用系列教程——python使用socket创建udp服务器端和客户端
- 常见配置redis.conf介绍
- Qt中文文档-QAbstractAnimation
- 替换实现逐帧动画,解决内存问题
- KITTI数据集格式说明
- vue中v-if与v-for的区别
- hdu4405 Aeroplane chess 【期望dp】
- LeetCode基础
- 关于MySQL中的约束
- MongoDB学习笔记(五) MongoDB文件存取操作
- 实战解析—论三年内快速成长为一名技术专家