qt跟随鼠标动态绘制_采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)...

该博客介绍了一种使用Qt的QCustomPlot库进行二次开发的方法,实现了在图形上动态跟随鼠标显示多条曲线上的点值。通过创建XxwTracer类,设置了不同类型的轨迹器,包括X轴、Y轴和数据追踪器,以显示坐标值。同时,还创建了XxwTraceLine类来绘制垂直和水平辅助线,以帮助用户更好地理解数据。
摘要由CSDN通过智能技术生成

#include "MyTracer.h"XxwTracer::XxwTracer(QCustomPlot*_plot, TracerType _type, QObject *parent)

: QObject(parent),

m_plot(_plot),

m_type(_type)

{

m_visible= true;

m_tracer= Q_NULLPTR;//跟踪的点

m_label = Q_NULLPTR;//显示的数值

m_arrow = Q_NULLPTR;//箭头

if(m_plot)

{

QColor clrDefault(Qt::red);

QBrush brushDefault(Qt::NoBrush);

QPen penDefault(clrDefault);//penDefault.setBrush(brushDefault);

penDefault.setWidthF(0.5);

m_tracer= newQCPItemTracer(m_plot);

m_tracer->setStyle(QCPItemTracer::tsCircle);

m_tracer->setPen(penDefault);

m_tracer->setBrush(brushDefault);

m_label= newQCPItemText(m_plot);

m_label->setLayer("overlay");

m_label->setClipToAxisRect(false);

m_label->setPadding(QMargins(5, 5, 5, 5));

m_label->setBrush(brushDefault);

m_label->setPen(penDefault);

m_label->position->setParentAnchor(m_tracer->position);//m_label->setFont(QFont("宋体", 8));

m_label->setFont(QFont("Arial", 8));

m_label->setColor(clrDefault);

m_label->setText("");

m_arrow= newQCPItemLine(m_plot);

QPen arrowPen(clrDefault,1);

m_arrow->setPen(penDefault);

m_arrow->setLayer("overlay");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值