在网上看到一个自定义的动画按钮很喜欢,大部分代码都是参考该博客,于是这里也学着设计了一个继承自QWidget的派生类AnimationButton。
大概思路就是重载基类QWidget里的事件(enterEvent、leaveEvent、paintEvent、mousePressEvent、mouseReleaseEvent),让鼠标进入和离开该派生类的时候能产生动画,并为其添加鼠标单击事件。
//animationbutton.h
#ifndef ANIMATIONBUTTON_H
#define ANIMATIONBUTTON_H
/*
* Writer:sym
* FileName:Animationbutton
* Date:2019-8-19
* */
#include <QtCore>
#include <QtGui>
#include <QObject>
#include <QWidget>
#include <QStackedWidget>
#include <qpainter.h>
#include <qpropertyanimation.h>
#include <qdebug.h>
class Animationbutton : public QWidget
{
Q_OBJECT
public:
explicit Animationbutton(QWidget *parent = nullptr);
~Animationbutton();
protected:
void enterEvent(QEvent *);
void leaveEvent(QEvent *);
void paintEvent(QPaintEvent *);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseE