QT小项目,雷达界面(二),雷达主界面绘制

首先分析一下需求:
需求一:抗锯齿
需求二:画出一些线来将曲线分开。如下图所示
在这里插入图片描述
可以用平移加旋转来画出这样:

    painter.drawLine(0,800,1600,800);
    painter.save();
    painter.translate(800,800);
    painter.rotate(-30);
    painter.drawLine(0,0,750,0);
    painter.rotate(-30);
    painter.drawLine(0,0,750,0);
    painter.rotate(-30);
    painter.drawLine(0,0,750,0);
    painter.rotate(-30);
    painter.drawLine(0,0,750,0);
    painter.rotate(-30);
    painter.drawLine(0,0,750,0);
    painter.rotate(-30);
    painter.drawLine(0,0,750,0);
    painter.restore();

由于用的是平移+旋转,所以要将平移操作还原回去。
画一些度数标注:
在这里插入图片描述
代码如下:

 QFont font("Buxton Sketch",30,QFont::Bold,true);
    painter.setFont(font);
    painter.setPen(Qt::white);
    painter.translate(800,800);
    painter.drawText(730,0,"0°");
    painter.drawText(730 * qCos(qDegreesToRadians(30.0)),730 * qSin(qDegreesToRadians(-30.0)),"30°");
    //注意这里的-30°
    painter.drawText(730 * qCos(qDegreesToRadians(60.0)),730 * qSin(qDegreesToRadians(-60.0)),"60°");
    painter.drawText(730 * qCos(qDegreesToRadians(90.0)),730 * qSin(qDegreesToRadians(-90.0)),"90°");
    painter.drawText(730 * qCos(qDegreesToRadians(90.0)),730 * qSin(qDegreesToRadians(-90.0)),"90°");
    painter.drawText(730 * qCos(qDegreesToRadians(120.0)),730 * qSin(qDegreesToRadians(-120.0)),"120°");
    painter.drawText(730 * qCos(qDegreesToRadians(150.0)),730 * qSin(qDegreesToRadians(-150.0)),"150°");
    painter.drawText(730 * qCos(qDegreesToRadians(180.0)),730 * qSin(qDegreesToRadians(-180.0)),"180°");
  	painter.setFont(QFont("Buxton Sketch",10,QFont::Bold,true));
    painter.drawText(140,5,"10cm");
    painter.drawText(280,5,"20cm");
    painter.drawText(420,5,"30cm");
    painter.drawText(560,5,"40cm");
    painter.drawText(700,5,"50cm");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值