127 lines
1.9 KiB
C++
127 lines
1.9 KiB
C++
#ifndef STATEWIDGET_H
|
|
#define STATEWIDGET_H
|
|
|
|
#include <QObject>
|
|
#include <QWidget>
|
|
#include "QMouseEvent"
|
|
#include "QDebug"
|
|
#include "QAction"
|
|
#include "QMenu"
|
|
#include "QColor"
|
|
#include "QLabel"
|
|
#include "mavlink.h"
|
|
#include "QStyle"
|
|
#include "QDebug"
|
|
#include "QScreen"
|
|
#include <QtGlobal>
|
|
#include "QLabel"
|
|
#include "QProgressBar"
|
|
#include "QGridLayout"
|
|
#include "QFont"
|
|
|
|
class StateWidget :public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
|
|
enum state{
|
|
green = 0,
|
|
red = 1,
|
|
orange = 2,
|
|
gray = 3,
|
|
};
|
|
|
|
explicit StateWidget(int flag, int index = 0,QWidget *parent = nullptr);
|
|
|
|
explicit StateWidget(int flag, QString t, QVariant v = 0, state s = state::gray, int index = 0, QWidget *parent = nullptr);
|
|
|
|
~StateWidget();
|
|
|
|
|
|
int id;
|
|
|
|
void setMax(double v)
|
|
{
|
|
max = v;
|
|
}
|
|
|
|
void setMin(double v)
|
|
{
|
|
min = v;
|
|
}
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
int ID(void)
|
|
{
|
|
return id;
|
|
}
|
|
|
|
|
|
QString Name(void)
|
|
{
|
|
return title->text();
|
|
}
|
|
|
|
int offset(void)
|
|
{
|
|
return m_offset;
|
|
}
|
|
|
|
void setStats(QMap<QVariant, state> l);
|
|
|
|
QMap<QVariant,state> Stats(void)
|
|
{
|
|
return stateMap;
|
|
}
|
|
|
|
void setColor(state s);
|
|
void setValue(QString s);
|
|
|
|
void setRange(double m_min,double m_max);
|
|
|
|
protected:
|
|
|
|
|
|
//鼠标按下事件处理函数
|
|
void mousePressEvent(QMouseEvent *event);
|
|
void mouseReleaseEvent(QMouseEvent *event);
|
|
void mouseMoveEvent(QMouseEvent *event);
|
|
void enterEvent(QEvent * event);
|
|
void leaveEvent(QEvent *event);
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
private:
|
|
|
|
int w = 300;
|
|
int h = 20;
|
|
int m_offset = 2;
|
|
|
|
double max = 99999999999999999;
|
|
double min = -99999999999999999;
|
|
|
|
QGridLayout *gridlayout;
|
|
QLabel *title = nullptr;
|
|
QLabel *label = nullptr;
|
|
QProgressBar *bar = nullptr;
|
|
|
|
QMap<QVariant,state> stateMap;
|
|
|
|
bool type = 0;
|
|
|
|
|
|
};
|
|
|
|
#endif // STATEWIDGET_H
|