QT实现按钮的动画效果
程序员文章站
2024-01-04 12:32:28
...
1、原理:在规定的时间内完成按钮的上移和下移来实现动画的效果。
2、主要实现1:创建新类:zzcButtonEx,对按钮进行提升操作:
#ifndef ZZCBUTTONEX_H
#define ZZCBUTTONEX_H
#include <QPropertyAnimation>
#include <QPushButton>
#include <QDebug>
class zzcButtonEx : public QPushButton
{
Q_OBJECT
public:
explicit zzcButtonEx(QWidget *parent = nullptr);
~zzcButtonEx();
void paintEvent(QPaintEvent *pe);
//设置按钮图标
void SetButtonIcon(QString normalImage, QString pressImage = "");
void setSink();
void setBulge();
//开始下移
void startSink();
//开始上移
void startBulge();
//加载的图标
QPixmap normalPix;
//正常按钮图路径
QString strNormalImgPath;
//按下按钮图路径
QString strPressImgPath;
//下移动画
QPropertyAnimation* animationSink;
//上移动画
QPropertyAnimation* animationBluge;
signals:
public slots:
};
#endif // ZZCBUTTONEX_H
#include "zzcbuttonex.h"
#include <QPainter>
zzcButtonEx::zzcButtonEx(QWidget *parent) : QPushButton(parent)
{