#ifndef TOOLTIPBUTTON_H #define TOOLTIPBUTTON_H #include #include class TooltipButton : public QLabel { Q_OBJECT public: explicit TooltipButton(QWidget *parent = nullptr); ~TooltipButton(); void enterEvent(QEvent *) override; void leaveEvent(QEvent *) override; void moveEvent(QMoveEvent *) override; void resizeEvent(QResizeEvent *) override; void setTooltipParentWidget(QWidget *); void setTooltipText(QString text); private: void updateTooltipPosition(); signals: private: QWidget* _tooltip_parent_widget = nullptr; QLabel* _tooltip_label = nullptr; QWidget* _tooltip_label_arrow = nullptr; QGraphicsOpacityEffect *_tooltip_opacity_effect = nullptr; QGraphicsOpacityEffect *_tooltip_arrow_opacity_effect = nullptr; }; #endif // TOOLTIPBUTTON_H