100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue 雷达扫描_Qt自定义控件之仪表盘3–雷达扫描图

vue 雷达扫描_Qt自定义控件之仪表盘3–雷达扫描图

时间:2020-10-30 09:36:11

相关推荐

vue 雷达扫描_Qt自定义控件之仪表盘3–雷达扫描图

1、设计思想

雷达扫描图,在影视作品中见到较多,比如飞机雷达、舰艇雷达,有一个扫描线转圈代表雷达一周旋转或一个批次的收发,发现目标就在表盘上标记位置。和汽车仪表盘类似,汽车仪表盘有底盘背景图、同圆、刻度、刻度值、旋转的指针。能在汽车仪表盘的基础上略作修改,比如指针换成带有余辉的扫描扇面,就能完成一个雷达扫描图。

代码实现原理:

上图的扫描线和余辉效果,可以使用QConicalGradient 函数来实现,qconicalgradient()提供的是一种扇形渐变效果,圆锥式渐变或称角度渐变。用这个渐变色来填充drawPie函数就可以实现扇形选择的余辉。

QConicalGradient::QConicalGradient(qreal cx, qreal cy, qreal angle)

void QPainter::drawPie(const QRectF &rectangle, int startAngle, int spanAngle)

Qt大神刘典武文章中有典型的讲解,《Qt编写自定义控件62-探探雷达》中实现的扫描效果就是雷达的效果。详情移步。

2、代码实现

绘制同心圆,x和y轴实线,45度对角线虚线。

void Radar::drawCircle(QPainter *painter)

{

painter->save();

QColor color= QColor(0, 100, 0);

QPen pen= QPen(color, 2);

painter->setPen(pen);for(int i=0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。