Files
gcs-nf/App/StatusUI/StateWidget.h
T

127 lines
1.9 KiB
C++
Raw Normal View History

2021-01-12 12:15:03 +08:00
#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"
2021-06-04 19:26:47 +08:00
#include "QFont"
2021-01-12 12:15:03 +08:00
class StateWidget :public QWidget
{
Q_OBJECT
public:
enum state{
2021-03-05 15:32:31 +08:00
green = 0,
2021-06-03 23:01:25 +08:00
red = 1,
2021-03-05 15:32:31 +08:00
orange = 2,
gray = 3,
2021-01-12 12:15:03 +08:00
};
2021-03-05 15:32:31 +08:00
explicit StateWidget(int flag, int index = 0,QWidget *parent = nullptr);
2021-01-12 12:15:03 +08:00
2021-03-05 15:32:31 +08:00
explicit StateWidget(int flag, QString t, QVariant v = 0, state s = state::gray, int index = 0, QWidget *parent = nullptr);
2021-01-12 12:15:03 +08:00
~StateWidget();
2021-03-05 15:32:31 +08:00
int id;
void setMax(double v)
{
max = v;
}
void setMin(double v)
{
min = v;
}
2021-01-12 12:15:03 +08:00
signals:
public slots:
2021-04-14 18:23:36 +08:00
int ID(void)
{
return id;
}
QString Name(void)
{
return title->text();
}
2021-04-25 09:28:46 +08:00
int offset(void)
{
return m_offset;
}
2021-04-14 18:23:36 +08:00
2021-06-03 23:01:25 +08:00
void setStats(QMap<QVariant, state> l);
QMap<QVariant,state> Stats(void)
{
return stateMap;
}
2021-04-14 18:23:36 +08:00
void setColor(state s);
void setValue(QString s);
void setRange(double m_min,double m_max);
2021-01-12 12:15:03 +08:00
protected:
2021-06-04 19:26:47 +08:00
//鼠标按下事件处理函数
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void enterEvent(QEvent * event);
void leaveEvent(QEvent *event);
2021-01-12 12:15:03 +08:00
private slots:
private:
2021-04-14 18:23:36 +08:00
int w = 300;
int h = 20;
2021-04-25 09:28:46 +08:00
int m_offset = 2;
2021-03-05 15:32:31 +08:00
double max = 99999999999999999;
double min = -99999999999999999;
2021-01-12 12:15:03 +08:00
QGridLayout *gridlayout;
QLabel *title = nullptr;
QLabel *label = nullptr;
QProgressBar *bar = nullptr;
2021-06-03 23:01:25 +08:00
QMap<QVariant,state> stateMap;
2021-05-22 14:34:09 +08:00
2021-10-19 10:21:05 +08:00
bool type = 0;
2021-01-12 12:15:03 +08:00
};
#endif // STATEWIDGET_H