JoystickPage.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // *****************************************************************************
  2. // 版权所有(C)2023~2099 上海骄成超声波技术有限公司
  3. // 保留所有权利
  4. // *****************************************************************************
  5. // 作者 : 杨坚
  6. // 版本 : 1.0
  7. // 功能说明:
  8. // 摇杆页面
  9. // *****************************************************************************
  10. #ifndef __JOYSTICKPAGE_H__
  11. #define __JOYSTICKPAGE_H__ 1
  12. #include <QWidget>
  13. #include <QPainter>
  14. #include <QMouseEvent>
  15. class JoystickPage : public QWidget
  16. {
  17. Q_OBJECT
  18. public:
  19. JoystickPage(QWidget* parent = nullptr);
  20. protected:
  21. void paintEvent(QPaintEvent*) override;
  22. void mousePressEvent(QMouseEvent* event) override;
  23. void mouseMoveEvent(QMouseEvent* event) override;
  24. void mouseReleaseEvent(QMouseEvent*) override;
  25. private:
  26. void updateHandlePosition(const QPoint& pos);
  27. signals:
  28. void PositionChangedSignals(qreal x, qreal y);
  29. private:
  30. int m_radius;
  31. QPoint m_handlePos;
  32. bool m_isPressed;
  33. /**微小移动
  34. */
  35. qreal m_deadZone= 0.11;
  36. };
  37. #endif //__JOYSTICKPAGE_H__