QT雷达扫描图

.h

virtual void paintEvent(QPaintEvent *event) override;

void updent();

QTimer time;

int startrecv = 0;

.cpp

Widget::Widget(QWisget *parent)

{

ui->setupUi(this);

connect(&time,&QTimer::timeout,this,&Widget::updent);

time.start(50);

}

void Widget::updent()

{

startrecv += 5;

if(startrecv > 360)

{

startrecv = 0;

}

update(); //刷新界面

}

void Widget::paintEvent(QPaintEvent *event)

{

QPainter painter(this);

painter.setRenderHint(QPainter::Antialiasing,true); //设置抗锯齿

painter.setBrush(Qt::black); //设置画刷

painter.drawRect( this->rect() ); //绘制矩形,将界面全部涂黑

painter.translate( rect().center() ); //将坐标系转移到屏幕中心

painter.setPen( QPen(Qt::green,4) ); //设置画笔

int side = qMin( width(),height() )/2/7 //qMin用于计算两个数之间的最小值,side表示最小圆圈的半径

painter.setBrush( Qt::NoBrush ); //丢掉画刷

//绘制圆形********************************************************

for(int i = 1; i <= 7; i++)

{

painter.drawEllipse( QPoint(0,0) , side*i , side*i ); //绘制圆形

}

painter.drawLine( -side*7,0 , side*7,0 ); //绘制x轴

painter.drawLine(0,-side*7 , 0,side*7); //绘制y轴

//****************************************************************

//锥形渐变 起始角度为 startrecv *********************************

QConicalGradient co( 0,0, -startrecv );

co.setColorAt(0,QColor(0,255,0,200));

co.setColorAt(0.1,QColor(0,255,0,100));

co.setColorAt(0.2,QColor(0,255,0,0));

co.setColorAt(1,QColor(0,255,0,0));

painter.setPen(Qt::NoPen);

painter.setBrush(co);

//****************************************************************

//画扇形**********************************************************

int x = -qMin( width(),height() )/2;

int y = -qMin( width(),height() )/2;

int w = qMin( width(),height() );

int h = qMin( width(),height() );

QRectF pieRect(x,y,w,h);

painter.drawPie(pieRect,-startrecv*16,36*16)//画扇形

}

相关推荐
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端
norlan_jame4 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone4 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054964 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月4 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237174 天前
C语言-数组练习进阶
c语言·开发语言·算法
Railshiqian4 天前
给android源码下的模拟器添加两个后排屏的修改
android·开发语言·javascript
雪人不是菜鸡4 天前
简单工厂模式
开发语言·算法·c#