可以使用MSVC2015 64位

This commit is contained in:
hm
2020-02-24 18:12:35 +08:00
parent a1488f205e
commit e1822f0bbd
2 changed files with 82 additions and 23 deletions
+61 -8
View File
@@ -12,6 +12,13 @@ Cockpit::Cockpit(QWidget *parent): QWidget(parent)
// setMouseTracking(true);
//leftladder = new LeftLadder(this);
//颜色初始化
m_NormalColor = QColor("#00FF00");
m_NoticeColor = QColor("#FF8C00");
m_WarningColor = QColor("#FF0000");
//GPS初始化
m_GPS.fixtype = 0;
m_GPS.svn = 0;
@@ -38,6 +45,7 @@ Cockpit::Cockpit(QWidget *parent): QWidget(parent)
m_Attitude.yaw = 0;
m_Attitude.airspeed = 0;//空速
m_Attitude.AirspeedFlag = 2;//i c t
m_Attitude.horizontalspeed = 0;//侧滑速度
m_Attitude.verticalspeed = 0;//爬升速度
@@ -848,7 +856,36 @@ void Cockpit::drawLeftScale(QPainter *painter)
painter->setBrush(QColor("#000000"));
painter->drawRect(0,600,300,100);
painter->drawText(QRect(20,600,280,100),Qt::AlignLeft|Qt::AlignVCenter,"TAS " + QString::number(m_Attitude.airspeed,'f',0));
QString AS_flag = "I";
switch (m_Attitude.AirspeedFlag) {
default:
case 0:
painter->drawText(QRect(20,600,280,100),Qt::AlignLeft|Qt::AlignVCenter,"IAS " + QString::number(m_Attitude.airspeed,'f',0));
AS_flag = "I";
ePen.setColor(m_NoticeColor);
break;
case 1:
painter->drawText(QRect(20,600,280,100),Qt::AlignLeft|Qt::AlignVCenter,"CAS " + QString::number(m_Attitude.airspeed,'f',0));
AS_flag = "C";
ePen.setColor(m_NoticeColor);
break;
case 2:
painter->drawText(QRect(20,600,280,100),Qt::AlignLeft|Qt::AlignVCenter,"TAS " + QString::number(m_Attitude.airspeed,'f',0));
AS_flag = "T";
ePen.setColor(m_NormalColor);
break;
}
ePen.setWidth(15);
font.setPixelSize(100);
font.setBold(true);//加粗
painter->setPen(ePen);
painter->setFont(font);
painter->drawText(QRect(320,600,90,100),Qt::AlignHCenter|Qt::AlignVCenter,AS_flag);
painter->restore();
@@ -1195,7 +1232,7 @@ void Cockpit::drawVRate(QPainter *painter)
QFont font;
//画一个半透明的小方块
painter->save();
painter->setOpacity(0.3f);
painter->setOpacity(0.3);
static const QPointF Backpoints[10] = {
QPointF( 80,-150),
@@ -1268,15 +1305,13 @@ void Cockpit::drawVRate(QPainter *painter)
ePen.setColor(m_CurrentColor);
painter->setPen(ePen);
float cur_y = ((m_Attitude.verticalspeed<0)?(1):(-1))*log10(qAbs(m_Attitude.verticalspeed) + 1) * 500;
qreal cur_y = ((m_Attitude.verticalspeed<0)?(1):(-1))*log10(qAbs(m_Attitude.verticalspeed) + 1) * 500;
cur_y = (cur_y < -440)?(-440):((cur_y>440)?(440):(cur_y));//位置限幅
painter->drawLine(0,cur_y,20,cur_y);
painter->drawLine(20,cur_y,200,0);
//qDebug() << m_Attitude.verticalspeed;
painter->restore();//画当前值结束
//画当前值打补丁
@@ -1293,7 +1328,7 @@ void Cockpit::drawVRate(QPainter *painter)
//画目标标尺
painter->save();
float tar_y = ((m_Target.verticalspeed<0)?(1):(-1))*log10(qAbs(m_Target.verticalspeed) + 1) * 500;
qreal tar_y = ((m_Target.verticalspeed<0)?(1):(-1))*log10(qAbs(m_Target.verticalspeed) + 1) * 500;
tar_y = (tar_y < -440)?(-440):((tar_y>440)?(440):(tar_y));//位置限幅
@@ -1333,6 +1368,25 @@ void Cockpit::drawVRate(QPainter *painter)
painter->restore();//画目标值结束
//画当前值
painter->save();
painter->translate(80,0);//+1是应为log 1= 0,偏移0的位置
ePen.setWidth(8);
ePen.setColor(m_CurrentColor);
font.setPointSize(50);
font.setWeight(QFont::ExtraLight);
font.setFamily("Arial");//非衬线
painter->setPen(ePen);
painter->setFont(font);
//在下方显示当前值
painter->drawText(QRect(-80,500,120,60),Qt::AlignHCenter|Qt::AlignLeft,QString::number(m_Attitude.verticalspeed,'f',(qAbs(m_Attitude.verticalspeed) < 10.0)?(1):(0)));
painter->restore();//画当前值结束
painter->restore();//全部结束
}
@@ -1350,12 +1404,11 @@ void Cockpit::drawYawScale(QPainter *painter)
font.setWeight(QFont::ExtraLight);
font.setFamily("Arial");//非衬线
painter->translate(0,1050);
painter->save();
//画一个半透明的基础圆
painter->setOpacity(0.3f);
painter->setOpacity(0.3);
ePen.setColor(QColor("#7A7A7A"));
painter->setBrush(QColor("#7A7A7A"));
painter->drawEllipse(-500,-500,1000,1000);