QTimeLine 控制动画

本文介绍了如何利用QTimeLine在Qt中创建动画,通过示例展示了如何控制进度条以余弦规律变化,详细列出了QTimeLine提供的不同动画曲线类型,包括EaseInCurve、EaseOutCurve、EaseInOutCurve、LinearCurve、SineCurve和CosineCurve。
摘要由CSDN通过智能技术生成

QTimeLine顾名思义表示一条时间线,即一个时间序列,该时间序列会按我们实现定义好的间隔一步一步的往前变化,并在每次变化时都会发出一个frameChanged()信号。所以,我们通常会使用该类来驱动我们的动画。

下面,我们使用该类,来驱动一个进度条的变化。

新建一个GUI程序,在窗口中拖入一个按钮和一个进度条。当点击按钮时,开始改变进度条的值。

直接来看按钮的槽函数:

void Widget::on_pushButton_clicked()
{
    //创建对象
    QTimeLine *timeLine = new QTimeLine(10000, this);
    //设置变化模式,此处选择余弦形式
    timeLine->setCurveShape(QTimeLine::CosineCurve);
    //设置帧范围
    timeLine->setFrameRange(0, 100);

    connect(timeLine, SIGNAL(frameChanged(int)), ui->progressBar, SLOT(setValue(int)));
    //开始动画
    timeLine->start();
}
由于进度条的默认范围是0-100,所以我们也将帧范围设为0-100,便于观察。

运行程序如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值