界面的一些修改

This commit is contained in:
hm
2020-12-08 22:21:52 +08:00
parent 4bb6156d4c
commit 815b077b5b
25 changed files with 821 additions and 346 deletions
+79 -2
View File
@@ -148,7 +148,7 @@ void Cockpit::mousePressEvent(QMouseEvent *e)
}
*/
QPoint minpos(29,252);
QPoint minpos(29,252);
QPoint maxpos(99,281);
@@ -162,6 +162,27 @@ void Cockpit::mousePressEvent(QMouseEvent *e)
}
}
QPoint minalt(247,253);
QPoint maxalt(372,278);
if(((e->pos().x() < maxalt.x())&&(e->pos().y() < maxalt.y()))&&
((e->pos().x() > minalt.x())&&(e->pos().y() > minalt.y())))
{
m_State.AltitudeFlag ++;
if(m_State.AltitudeFlag > 2)
{
m_State.AltitudeFlag = 0;
}
qDebug() << "alt mode changed";
}
update();
}
@@ -504,6 +525,28 @@ void Cockpit::setAltitude(double Altitude)
m_State.isUpdate = true;
}
void Cockpit::setHeight(double Altitude)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(Altitude))
{
return;
}
#endif
#endif
if(Altitude > 99999) Altitude = 99999;
else if(Altitude < (-9999)) Altitude = -9999;
m_State.height = Altitude;
m_State.isUpdate = true;
}
void Cockpit::setAltitudeTarget(double Altitude)
{
#ifdef unix
@@ -1573,7 +1616,41 @@ void Cockpit::drawRightScale(QPainter *painter)
painter->setBrush(QColor("#000000"));
painter->drawRect(0,600,550,150);
painter->drawText(QRect(10,600,530,150),Qt::AlignLeft|Qt::AlignVCenter,QString::number(m_State.altitude,'f',0));
painter->drawText(QRect(10,600,530,150),Qt::AlignLeft|Qt::AlignVCenter,QString::number(m_State.height,'f',0));
QString alt_str;
switch (m_State.AltitudeFlag) {
default:
case 0: //绝对高度
alt_str = tr("绝对");
ePen.setColor(m_Color.NormalColor);
break;
case 1: //相对高度
alt_str = tr("相对");
ePen.setColor(m_Color.WarningColor);
break;
case 2: //气压高度
alt_str = tr("气压");
ePen.setColor(m_Color.NoticeColor);
break;
}
ePen.setWidth(8);
font.setPixelSize(90);
font.setWeight(QFont::Bold);
font.setFamily("Arial");//非衬线
painter->setPen(ePen);
painter->setFont(font);
painter->drawText(QRect(-500,600,490,150),Qt::AlignRight|Qt::AlignVCenter,alt_str);
painter->restore();
+7 -2
View File
@@ -65,8 +65,6 @@ typedef struct {
qreal altitude = 0;
qreal altitude_t = 0;
qreal height = 0;
qreal speed = 0;
@@ -87,6 +85,7 @@ typedef struct {
quint8 AirspeedFlag = 0;
quint8 AltitudeFlag = 0;
@@ -163,6 +162,7 @@ public Q_SLOTS:
void setAttitudeTarget(qreal Pitch,qreal Roll,qreal Yaw);
void setAltitude(qreal Altitude);
void setHeight(double Altitude);
void setAltitudeTarget(double Altitude);
void setSpeed(double speed,uint8_t flag);
@@ -175,6 +175,11 @@ public Q_SLOTS:
return m_State.AirspeedFlag;
}
quint8 AltitudeFlag(void)
{
return m_State.AltitudeFlag;
}
void setVerticalSpeed(double speed);
void setVerticalSpeedTarget(double speed);