Files
cbh/ElaWidgetTools/ElaPushButton.h
2025-09-20 01:41:33 +08:00

36 lines
1.1 KiB
C++

#ifndef ELAPUSHBUTTON_H
#define ELAPUSHBUTTON_H
#include <QPushButton>
#include "ElaProperty.h"
class ElaPushButtonPrivate;
class ELA_EXPORT ElaPushButton : public QPushButton {
Q_OBJECT
Q_Q_CREATE(ElaPushButton)
Q_PROPERTY_CREATE_Q_H(int, BorderRadius)
Q_PROPERTY_CREATE_Q_H(QColor, LightDefaultColor)
Q_PROPERTY_CREATE_Q_H(QColor, DarkDefaultColor)
Q_PROPERTY_CREATE_Q_H(QColor, LightHoverColor)
Q_PROPERTY_CREATE_Q_H(QColor, DarkHoverColor)
Q_PROPERTY_CREATE_Q_H(QColor, LightPressColor)
Q_PROPERTY_CREATE_Q_H(QColor, DarkPressColor)
public:
explicit ElaPushButton(QWidget *parent = nullptr);
explicit ElaPushButton(QString text, QWidget *parent = nullptr);
~ElaPushButton();
void setLightTextColor(QColor color);
QColor getLightTextColor() const;
void setDarkTextColor(QColor color);
QColor getDarkTextColor() const;
protected:
virtual void mousePressEvent(QMouseEvent *event) override;
virtual void mouseReleaseEvent(QMouseEvent *event) override;
virtual void paintEvent(QPaintEvent *event) override;
};
#endif // ELAPUSHBUTTON_H