This repository has been archived on 2022-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
modern-linbo-gui/headers/qmodernpushbutton.h

37 lines
730 B
C++

#ifndef QMODERNPUSHBUTTON_H
#define QMODERNPUSHBUTTON_H
#include <QPushButton>
#include <QObject>
#include <QSvgWidget>
#include <QGraphicsOpacityEffect>
#include <QResizeEvent>
#include <QPropertyAnimation>
#include <QString>
#include <QDebug>
class QModernPushButton : public QPushButton
{
Q_OBJECT
public:
QModernPushButton(QString icon, QWidget* parent = nullptr);
protected:
void resizeEvent(QResizeEvent *event) override;
private:
QSvgWidget* svgWidget;
QSvgWidget* overlayNormalWidget;
QSvgWidget* overlayCheckedWidget;
QGraphicsOpacityEffect* overlayCheckedEffect;
private slots:
void handleToggled(bool checked);
QString generateStyleSheet();
};
#endif // QMODERNPUSHBUTTON_H