xlabel.h 928 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef XLABEL_H
  2. #define XLABEL_H
  3. #include <QtGui>
  4. #include <QWidget>
  5. class XLabel : public QWidget
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit XLabel(QWidget *parent = 0);
  10. ~XLabel();
  11. void setPixmap(const QPixmap &);
  12. void setText(const QString &);
  13. void setMouseEnterFlag(bool);
  14. void setMousePressFlag(bool);
  15. protected:
  16. void enterEvent(QEvent *);
  17. void leaveEvent(QEvent *);
  18. void mousePressEvent(QMouseEvent *);
  19. void paintEvent(QPaintEvent *);
  20. signals:
  21. void signalLabelPress(XLabel *);
  22. private:
  23. //functions
  24. void initVariable();
  25. void initUi();
  26. void paintWidget(int, QPainter *);
  27. bool getMouseEnterFlag();
  28. bool getMousePressFlag();
  29. //members
  30. bool m_mouseEnterFlag;
  31. bool m_mousePressFlag;
  32. //pointer members
  33. QHBoxLayout *m_pHLayout;
  34. QLabel *m_pLabelIcon;
  35. QLabel *m_pLabelText;
  36. };
  37. #endif // XLABEL_H