Files
gcs-nf/App/ToolsUI/RemoteControl/switch.h
T

67 lines
1.3 KiB
C++

#ifndef SWITCH_H
#define SWITCH_H
#include <QWidget>
#include <QPainter>
#include <QMouseEvent>
#include <QtCore/qmath.h>
#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<uint16_t,QString> Notice;
};
#endif // SWITCH_H