find point

This commit is contained in:
2020-01-03 21:37:25 +08:00
parent 45b2ead1e4
commit b5b2a39920
2 changed files with 27 additions and 14 deletions
+23 -10
View File
@@ -11,7 +11,7 @@ Cockpit::Cockpit(QWidget *parent): QWidget(parent)
leftladder = new LeftLadder(this);
//leftladder = new LeftLadder(this);
//GPS初始化
m_GPS.fixtype = 0;
@@ -560,6 +560,7 @@ void Cockpit::drawYawScale(QPainter *painter)
//画左刻度尺 用单独的控件最容易解决
void Cockpit::drawLeftScale(QPainter *painter)
{
//leftladder->setGeometry(0,-600,300,1200);
painter->save();
@@ -695,23 +696,40 @@ void Cockpit::drawLeftScale(QPainter *painter)
qDebug() << Unit;
for(int i = -2 - Unit;i<(2 - Unit);i+=1)
//UnitText.clear();
int count = 1;
for(int i = -1.5 - Unit;i<(1.5 - Unit);i+=1)
{
QString strText = QString::number(((-i < 0)?(-i+10):((-i>=10)?(-i-10):(-i)))); //设置当前字体
painter->save();
QPen ePen;
QFont font;
ePen.setColor(m_CentreLineColor);
ePen.setWidth(15);
font.setPointSize(90);
painter->setPen(ePen);
painter->setFont(font);
painter->drawText(QRect(200,(i + Unit) * 100 - 50,100,90),Qt::AlignVCenter|Qt::AlignLeft, strText);
painter->translate(200,(i + Unit) * 100 - 50);
//偏移坐标需要修正,现在画的时候从左上开始,因此,总有一个会显示不出来
switch (count) {
case 1:
painter->drawText(QRect(0,0,100,90 *(Decimal - 0.5)),Qt::AlignVCenter|Qt::AlignLeft, strText);
break;
case 2:
painter->drawText(QRect(0,0,100,90),Qt::AlignVCenter|Qt::AlignLeft, strText);
break;
case 3:
painter->drawText(QRect(0,0,100,90 *(Decimal + 0.5)),Qt::AlignVCenter|Qt::AlignLeft, strText);
break;
}
count++;
@@ -719,15 +737,10 @@ void Cockpit::drawLeftScale(QPainter *painter)
painter->restore();
}
painter->restore();
painter->restore();
}
+3 -3
View File
@@ -57,9 +57,9 @@ void LeftLadder::paintEvent(QPaintEvent *)
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); /* 使用反锯齿(如果可用) */
//painter.translate(width() / 2, 2 * height() / 5); /* 坐标变换为窗体中心 */
painter.translate(0, height() / 2); /* 坐标变换为窗体中心 */
int side = qMin(width(), height()); /* 这一句决定了这个模块只能是方形 */
painter.scale(side / 2000.0, side / 2000.0); /* 比例缩放 */
painter.scale(side / 1000.0, side / 1000.0); /* 比例缩放 */
painter.setPen(Qt::NoPen);
@@ -76,7 +76,7 @@ void LeftLadder::drawLeftScale(QPainter *painter)
painter->save();
//平移坐标
painter->translate(-1100,0);
//painter->translate(0,0);
QPen ePen;
QFont font;