ximagebutton.h 878 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef XIMAGEBUTTON_H
  2. #define XIMAGEBUTTON_H
  3. #include <QWidget>
  4. #include <QtGui>
  5. #include "CustomUI_global.h"
  6. class CUSTOMUISHARED_EXPORT XImageButton : public QWidget
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit XImageButton(QPixmap pixmap,QWidget *parent = 0);
  11. void changeImage(QPixmap pixmap);
  12. void setEnabled(bool enable);
  13. enum XButtonState
  14. {
  15. XButtonDefault = 0,
  16. XButtonEnter,
  17. XButtonPress ,
  18. XButtonNone
  19. };
  20. ~XImageButton();
  21. protected:
  22. bool eventFilter(QObject *target, QEvent *event);
  23. private:
  24. void setButtonIcon(XButtonState state);
  25. void initVariable(QPixmap pixmap);
  26. void initUI();
  27. signals:
  28. void clicked();
  29. public slots:
  30. void onButtonClick();
  31. private:
  32. QPixmap m_pixmap;
  33. QPushButton *m_pButton;
  34. QVBoxLayout *m_pLayout;
  35. };
  36. #endif // XIMAGEBUTTON_H