界面的一些修改
This commit is contained in:
+79
-2
@@ -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
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user