#ifndef SWITCH_H #define SWITCH_H #include #include #include #include #include "QThread" #include "QDebug" #include "QPicture" class Switch : public QWidget { Q_OBJECT public: explicit Switch(QWidget *parent = nullptr); ~Switch(); void setSwitchdir(uint8_t value); void setSegment(uint16_t value); void setPosition(uint16_t pos); void setValue(uint16_t value); void setRecovery(bool state); void setNotice(uint16_t pos,QString str); uint16_t segment(void); uint16_t position(void); uint16_t channel(void); signals: void positionChange(uint16_t value); protected: int16_t Limit(int16_t pos,int16_t min,int16_t max); void mouseReleaseEvent(QMouseEvent *e); void mousePressEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *e); //void mouseDoubleClickEvent(QMouseEvent *e); //void wheelEvent(QWheelEvent *e); void paintEvent(QPaintEvent *); void drawSwitch(QPainter *painter); public slots: private: bool Recovery = false; uint8_t m_switchdir = 0;//默认竖直 uint16_t m_max = 1900; uint16_t m_min = 1100; uint16_t m_channel = 1100; uint16_t m_segment = 2; uint16_t m_position = 0; QMap Notice; }; #endif // SWITCH_H