clickablelabel.h 614 B

1234567891011121314151617181920212223242526272829
  1. #ifndef CLICKABLELABEL_H
  2. #define CLICKABLELABEL_H
  3. #include <QObject>
  4. #include <QWidget>
  5. #include <QLabel>
  6. #include <QMouseEvent>
  7. class ClickableLabel : public QLabel {
  8. Q_OBJECT
  9. public:
  10. explicit ClickableLabel(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
  11. ~ClickableLabel();
  12. static ClickableLabel *getActiveLabel();
  13. signals:
  14. void clicked();
  15. void active_label_changed();
  16. protected:
  17. void mousePressEvent(QMouseEvent* event);
  18. void mouseMoveEvent(QMouseEvent *event) override;
  19. private:
  20. static ClickableLabel *active_label;
  21. };
  22. #endif // CLICKABLELABEL_H