#ifndef TOOLMENUWIDGET_H #define TOOLMENUWIDGET_H #include #include class ToolMenu : public QMenu { Q_OBJECT public: explicit ToolMenu(QWidget *parent = nullptr); signals: /*! * Window state changed. */ void windowStateChanged(bool state); protected: /*! * Override the widget event. */ virtual void showEvent(QShowEvent *event) override; virtual void hideEvent(QHideEvent *event) override; }; /** * @brief The class of the tool menu base widget. */ class ToolMenuWidget : public QToolButton { Q_OBJECT public: explicit ToolMenuWidget(QWidget *parent = nullptr); ~ToolMenuWidget(); /** * @brief setTranslucentBackground */ void setTranslucentBackground(); public slots: /*! * To popup menu. */ virtual void popupMenu(); protected: ToolMenu *m_menu; QWidget *m_containWidget; }; #endif // TOOLMENUWIDGET_H