Qt属性动画仿真QPropertyAnimation的使用

本文介绍Qt中QPropertyAnimation组件的基本使用方法,包括如何设置动画对象、属性及动画过程控制,并演示了自定义变量动画及控件UI属性动态调整的实例。
一、QPropertyAnimation的基本使用

1、常用接口函数

  • setTargetObject:设置仿真对象
  • setPropertyName:设置仿真属性的名称,
  • setDuration:设置仿真持续的时间
  • setStartValue:设置初始值
  • setEndValue:设置结束值
  • start:开始仿真
  • currentValue:返回当前值
  • setKeyValueAt:设置关键点的值
  • valueChanged:只要仿真追踪的值发生变化,就发送该信号

2、如让一个矩形进行运动的仿真

头文件.h

#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtTimeSet.h"
#include <QLabel>
#include<QPropertyAnimation>

class QtTimeSet : public QWidget
{
   
   
    Q_OBJECT

public:
    QtTimeSet(QWidget *parent = Q_NULLPTR);

protected slots:
    /// <SUMMARY>
    /// 点击按钮 开始动画运动
    /// </SUMMARY>
    void DoStart();

private:
    Ui::QtTimeSetClass ui;

    QPropertyAnimation          *animation;
    QLabel                      *label01;
};

对应.cpp文件

#include "QtTimeSet.h"

#include <QRect>
#include <QFrame>

QtTimeSet::QtTimeSet(QWidget *parent)
    : QWidget(parent)
{
   
   
    ui.setupUi(this);

    label01 = new QLabel(this);
    label01->setGeometry(0, 0, 300, 100);
    label01->setFrameShape(QFrame::Box);
    label01->setStyleSheet("background-color:blue");

	//设置仿真对象为label01,设置该对象的几何属性为仿真变量
    animation = new QPropertyAnimation(label01, "geometry");
    animation->setDuration(1000); 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值