linkwidget.h 969 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef LINKWIDGET_H
  2. #define LINKWIDGET_H
  3. #include <QWidget>
  4. #include <QLabel>
  5. #include <QOpenGLFunctions>
  6. #include <QOpenGLWidget>
  7. #include "BusinessLogic/eclib/include/eclinkplayer.h"
  8. #include <QTimer>
  9. class LinkWidget : public QOpenGLWidget, protected QOpenGLFunctions
  10. {
  11. Q_OBJECT
  12. public:
  13. enum ReverseStatus {
  14. RS_Undefine = -1,
  15. RS_Off,
  16. RS_On
  17. };
  18. enum USBStatus {
  19. US_Undefine = -1,
  20. US_PullOut,
  21. US_Inset,
  22. };
  23. explicit LinkWidget(QWidget *parent = nullptr);
  24. ~LinkWidget();
  25. protected:
  26. void initializeGL() override;
  27. void resizeGL(int width, int height) override;
  28. void paintGL() override;
  29. static void usbscan(bool status);
  30. public slots:
  31. void onCarbackStatusChange(int status);
  32. void onTimeout();
  33. private:
  34. QPixmap pixBackground;
  35. QLabel* m_Label;
  36. int m_ReverseStatus;
  37. int m_USBStatus;
  38. ECLinkplayer *m_ECLinkplayer;
  39. QTimer *m_Timer;
  40. };
  41. #endif // LINKWIDGET_H