#ifndef XIMAGEBUTTON_H #define XIMAGEBUTTON_H #include #include #include "CustomUI_global.h" class CUSTOMUISHARED_EXPORT XImageButton : public QWidget { Q_OBJECT public: explicit XImageButton(QPixmap pixmap,QWidget *parent = 0); void changeImage(QPixmap pixmap); void setEnabled(bool enable); enum XButtonState { XButtonDefault = 0, XButtonEnter, XButtonPress , XButtonNone }; ~XImageButton(); protected: bool eventFilter(QObject *target, QEvent *event); private: void setButtonIcon(XButtonState state); void initVariable(QPixmap pixmap); void initUI(); signals: void clicked(); public slots: void onButtonClick(); private: QPixmap m_pixmap; QPushButton *m_pButton; QVBoxLayout *m_pLayout; }; #endif // XIMAGEBUTTON_H