#ifndef PUSHBUTTONTYPE_H
#define PUSHBUTTONTYPE_H

#include <QPushButton> // 包含QPushButton类的头文件，QPushButton是Qt中用于创建按钮的类

class PushButtonType : public QPushButton// 定义PushButtonType类，继承自QPushButton
{
    Q_OBJECT// 宏，用于支持信号和槽机制
public:
    explicit PushButtonType(QWidget *parent = nullptr);// 构造函数，允许传入父窗口指针，默认为空

    void setNormalIcon(const QIcon &newNormalIcon); // 设置按钮在正常状态下的图标
    void setHoveredIcon(const QIcon &newHoveredIcon);// 设置按钮在鼠标悬停状态下的图标
    void setPressedIcon(const QIcon &newPressedIcon);// 设置按钮在鼠标按下状态下的图标

protected:
    bool event(QEvent *event) override;// 重载event函数，用于处理各种事件

private:
    QIcon normalIcon;// 私有成员变量，存储按钮在正常状态下的图标
    QIcon hoveredIcon;// 私有成员变量，存储按钮在鼠标悬停状态下的图标
    QIcon pressedIcon;// 私有成员变量，存储按钮在鼠标按下状态下的图标
};

#endif // PUSHBUTTONTYPE_H
