• Qt绘制简单的风向玫瑰图代码


    1、绘制简单的风向玫瑰图代码
    2、主要使用QPainter
    3、在子widget上绘制需要使用widget监视事件 eventfilter

    update();//更新界面
            //镜头12
            QPainter painter1(WindRose12)/**/;
            painter1.begin(WindRose12);
            painter1.setFont(QFont("宋体"));
            painter1.translate(WindRose12->width() >> 1, WindRose12->height() >> 1);
            painter1.setRenderHint(QPainter::Antialiasing,true);
            //画同心圆
            painter1.setPen(QPen(Qt::black,2,Qt::DashDotDotLine));
            painter1.drawEllipse(-radius, -radius, radius << 1, radius << 1);
            painter1.drawEllipse(-(radius-20), -(radius-20), (radius-20) << 1, (radius-20) << 1);
            painter1.drawEllipse(-(radius-40), -(radius-40), (radius-40) << 1, (radius-40) << 1);
            painter1.drawEllipse(-(radius-60), -(radius-60), (radius-60) << 1, (radius-60) << 1);
            //画X轴和Y轴
            painter1.drawLine(QPoint(-radius,-radius>>8),QPoint(radius,-radius>>8));
            painter1.drawLine(QPoint(-radius>>8,-radius),QPoint(-radius>>8,radius));
            //标注方向
            painter1.setFont(QFont("Times", 20, QFont::Bold));
            painter1.drawText(QPoint(-radius>>8,-radius-offset-offset),"Camera12");
            painter1.drawText(QPoint(-radius>>8,-radius-offset),"N");
            painter1.drawText(QPoint(-radius>>8,radius+offset),"S");
            painter1.drawText(QPoint(-radius-offset,-radius>>8),"W");
            painter1.drawText(QPoint(radius+offset,-radius>>8),"E");
            //绘制弧形
            //gradientArc(&painter, radius, 0+90,  -(10), 30, qRgb(200, 200, 0));
            for(int i=0;i<angledis1.count();i++)
            {
                gradientArc(&painter1, radius*angledis1[i]/max1, 0+90-i*10,  -(10), 30, qRgb(200, 200, 0));
            }
            painter1.end();
  • 相关阅读:
    如何用Django建立一个后台CRM系统02
    如何用Django建立一个后台CRM系统01
    多线程的UDP聊天器
    文件被导入时,能够直接执行的代码不需要被执行
    主动抛出异常
    python异常
    初始化动作只执行一次
    单例设计模式代码实现
    类的继承
    多态的案例演示
  • 原文地址:https://www.cnblogs.com/tsh292278/p/10436145.html
Copyright © 2020-2023  润新知