ToolMenuWidget.h 946 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef TOOLMENUWIDGET_H
  2. #define TOOLMENUWIDGET_H
  3. #include <QMenu>
  4. #include <QToolButton>
  5. class ToolMenu : public QMenu
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit ToolMenu(QWidget *parent = nullptr);
  10. signals:
  11. /*!
  12. * Window state changed.
  13. */
  14. void windowStateChanged(bool state);
  15. protected:
  16. /*!
  17. * Override the widget event.
  18. */
  19. virtual void showEvent(QShowEvent *event) override;
  20. virtual void hideEvent(QHideEvent *event) override;
  21. };
  22. /**
  23. * @brief The class of the tool menu base widget.
  24. */
  25. class ToolMenuWidget : public QToolButton
  26. {
  27. Q_OBJECT
  28. public:
  29. explicit ToolMenuWidget(QWidget *parent = nullptr);
  30. ~ToolMenuWidget();
  31. /**
  32. * @brief setTranslucentBackground
  33. */
  34. void setTranslucentBackground();
  35. public slots:
  36. /*!
  37. * To popup menu.
  38. */
  39. virtual void popupMenu();
  40. protected:
  41. ToolMenu *m_menu;
  42. QWidget *m_containWidget;
  43. };
  44. #endif // TOOLMENUWIDGET_H