QCustomPlot鼠标跟随显示坐标值

QCustomPlot基础教程(六)——Qt设置鼠标跟随动态显示曲线上的点的值 目录一、代码示例1.1 基本设置1.2 widget.h头文件1.3 绘制图像1.4 生成游标1.5 游标说明1.6 mouseMove1函数二、运行结果 一、代码示例 1.1 基本设置 首先新建一个widget文件,UI界面内放置一个Widget并将其提升为QCustomPlot,这里就不详细介绍,详情可参考:https://blog.youkuaiyun.com/didi_ya/article/details/120105121 1.2 widget.h头文件 包含一个槽函数,声明一个变量: public slot 阅读详情
AI摘要

本文介绍如何在Qt环境下使用QCustomPlot实现图表跟随鼠标显示坐标值的功能。通过创建自定义的MyCustomPlot类并重写鼠标移动事件处理函数,可以轻松地在图表上显示当前鼠标位置的数值。此方法简洁高效,适用于需要实时反馈数据的应用场景。


背景

Qt最大的优势就是各种库非常全,尤其在图表方面,在5.7版本之后虽然引入了原本企业版才有的QCharts,但相对于只有2个文件就可以引入库的QCustomPlot来说还是太臃肿了。
这里解决一个使用图表的都会碰到的问题–跟随鼠标显示值,在QCustomPlot里非常简单,可以直接看下面的效果图。

可以直接去gitee仓库fork

效果

在这里插入图片描述

代码


class MyCustomPlot : public QCustomPlot
{
    Q_OBJECT
public:
    MyCustomPlot(QWidget *parent = nullptr);

    virtual ~MyCustomPlot()
    {
    }

protected:
    virtual void mouseMoveEvent(QMouseEvent *event);

private:
    int lastIdx = -1;
    QCPBars *myBars = nullptr;
    QCPItemStraightLine *line = nullptr;  // tooltip的垂直线
};


class MyCustomPlot : public QCustomPlot
{
    Q_OBJECT
public:
    MyCustomPlot(QWidget *parent = nullptr);

    virtual ~MyCustomPlot()
    {
    }

protected:
    virtual void mouseMoveEvent(QMouseEvent *event);

private:
    int lastIdx = -1;
    QCPBars *myBars = nullptr;
    QCPItemStraightLine *line = nullptr;  // tooltip的垂直线
};

参考

  1. Creating dynamic axis tags using items
  2. QCustomplot使用分享(四) QCPAbstractItem

给个赏吧

如果我的文字解决了你的问题,请打个赏的,让我更有动力:)

【Qt】QCustomPlot组件跟随鼠标显示xy轴坐标位置 ​自定义一个继承QCustomPlot类的实现类,重写mouseMove虚函数实现,从而获取鼠标位置,然后计算出点的坐标值,再利用QToolTip显示点坐标。 阅读详情

相关推荐

QCustomPlot之光标划过曲线显示点的坐标

在网上查了这方面的内容,几乎清一色的都是主要用QCPItemTracer和QCPItemText这两个类实现的,实现代码冗长,现在的我还没有搞懂。最后,发现通过QToolTip实现该功能是个挺简便的方法,能实现一个函数就搞定了,保证了代码的轻量级,随拿随用,下面就给出代码实现(qt 5.13 +vs2017+ C++)。 (1)首先建立一个鼠标移动时间响应函数: private slots: void myMouseMoveEvent(QMouseEvent *event); (2)将槽函数myMous

weixin_32155265的博客 4396

qt QCustomplot 用QCPItemStraightLine画参考线,阈值线,水平线

QCustomplot QCPItemStraightLine 画参考线,阈值线,水平线

u012719076的博客 5526

QCustomPlot 的使用-折线图和散点图

QCustomPlot 的使用 VS+QT+散点图 下载资源 https://www.qcustomplot.com/index.php/download 资源说明 在VS中创建项目,同时将.cpp和.h放到对应的路径下 添加项目,引用 往项目中加入#include ps 编译会出现一个问题Link2019 解决方案: 代码编写 两种鼠标显示数值 .h #pragma once #include <QtWidgets/QWidget> #include "ui

qq_40501206的博客 6804

[QCustomView]-QCPItemStraightLine

一个延伸到无限长度的直线 文章目录详细描述构造函数和析构函数描述QCPItem StraightLine::QCPItemStraightLine (QCustomPlot * parentPlot) excplicit成员函数void QCPItemStraightLine::setPen(const QPen & pen)void QCPItemStraightLine::setSel...

赵树成的博客 3498

qcustomplot鼠标点击后在坐标轴显示值

qcustomplot鼠标点击后在坐标轴显示值

别光看教程了!手把手带你用STM32F103C8T6最小系统板点亮第一个LED(附完整电路图)

本文详细介绍了如何使用STM32F103C8T6最小系统板点亮第一个LED,从硬件连接到软件开发环境搭建,再到编写和下载程序,手把手教你完成STM32入门的第一步。适合初学者快速上手STM32开发,附完整电路图和代码示例。

weixin_28678831的博客 195

【亲测免费】 QCustomPlot鼠标跟随显示坐标值

QCustomPlot鼠标跟随显示坐标值 【下载地址】QCustomPlot鼠标跟随显示坐标值 在使用图表时,经常会遇到需要跟随鼠标显示当前位置坐标值的需求。QCustomPlot作为一款功能强大的图表库,早已为我们提供了解决方案——QCPItemTracer。通过简单的配置和使用,您可以在图表上实现鼠标跟随显示坐标值的...

gitblog_09809的博客 1276

EMI硬件抑制八项工程对策:从回路面积到谐振规避

电磁干扰(EMI)是电子系统可靠性与EMC合规性的核心挑战,其本质源于高频电流回路产生的辐射与耦合效应。理解回路面积、共模/差模噪声、阻抗匹配等基础原理,是实施有效抑制的前提。技术价值体现在降低辐射发射(RE)、传导发射(CE)超标风险,提升产品一次通过率与长期稳定性。典型应用场景包括开关电源设计、高速数字接口布局、工业嵌入式设备及医疗电子等对EMC要求严苛的领域。本文聚焦可落地的硬件级对策,涵盖回路面积控制、屏蔽策略、变压器漏磁管理、双线传输与阻抗匹配等关键实践,深度融合电流回路物理模型与PCB工程实现。

weixin_35019679的博客 85

【亲测免费】 QCustomPlot鼠标跟随显示坐标值:提升图表交互性的利器

QCustomPlot鼠标跟随显示坐标值:提升图表交互性的利器 【下载地址】QCustomPlot鼠标跟随显示坐标值 在使用图表时,经常会遇到需要跟随鼠标显示当前位置坐标值的需求。QCustomPlot作为一款功能强大的图表库,早已为我们提供了解决方案——QCPItemTracer。通过简单的配置和使用,您可以在图表上实...

gitblog_09813的博客 614

从充电管理芯片里‘偷师’:拆解一个PMOS双向开关电路,搞定你的固态继电器需求

本文深入解析了PMOS双向开关电路在固态继电器应用中的设计要点,重点探讨了防电流倒灌和高侧双向开关的实现技巧。通过拆解充电管理芯片中的PMOS背靠背结构,工程师可以构建高效可靠的固态开关方案,适用于智能硬件和电池管理系统。文章还提供了关键参数选择、电路优化建议及实测数据对比,助力解决电源防反接等工程难题。

weixin_33698043的博客 483

Python通用编程规范-09 安全编程规范

1.9 安全编程规范 1.9.1 异常行为 1.9.1.1 禁止抑制或者忽略已检查异常 【说明】: 编码人员常常会通过一个空的或者无意义的catch块来抑制捕获的已检查异常。每一个catch块都应该确保程序只会在继续有效的情况下才会继续运行下去。因此,catch块必须要么从异常情况中恢复,要么重新抛出适合当前catch块上下文的另一个异常以允许最邻近的外层try-catch语句块来进行恢复工作。异常会打断应用原本预期的控制流程。例如,try块中位于异常发生点之后的任何表达式和语句都不会被执行。因此,异常必须

zhao12501的博客 2871

qt之QCustomPlot实现鼠标跟随显示xy坐标值,xy轴类型等

一、前言 话不多说时间匆忙直接步入正题,本博主要介绍qt用QCustomPlot实现曲线绘制然后 鼠标放在曲线上能实时显示坐标,之前研究这块,网上也有一些参考例程,但总的来说可参考的 文章 还是很少,所以这里就在多分享一章,贡献一份力量。 二、开发环境 我的开发环境是QT5.10+MSVC2015 QCustomPlot 2.0 三、准备&参考文章 附上对我最有帮助的文章链接:...

kbq的博客 2万+

股票行情接口,最全的接入方法

股票行情接口一般有两种,一种是WebSocket,一种是http,通过WebSocket可以获取逐笔的股票tick数据,实时并且高效;通过http接口可以获取股票行情接口中的股票历史数据;WebSocket是一种高效的双向通信协议,它允许数据的实时推送,避免了不断的轮询请求。其次,WebSocket允许您订阅特定的数据源或股票数据产品,只接收您感兴趣的信息,提高了数据的效率和可用性。通过接入股票行情数据的HTTP接口,您可以将数据导入到自己的分析工具或系统中,进行更深入的数据分析、模型构建和决策支持。

apifinance的博客 3425

QCustomPlot实现鼠标跟随显示xy坐标值

话不多说时间匆忙直接步入正题,本博主要介绍qt用QCustomPlot实现曲线绘制然后 鼠标放在曲线上能实时显示坐标,之前研究这块,网上也有一些参考例程,但总的来说可参考的 文章 还是很少,所以这里就在多分享一章,贡献一份力量。好了,以上就是实现的全部代码了,放上两种效果图,一种是xy坐标显示分开,一种是在一起的,程序中都有相应的部分,只需打开相应的注释和注释相应的内容,就可以分别实现这两种方式了。

danshiming的博客 1569

第 4 课 树莓派5的换源与中文输入法

树莓派换源、中文输入法的安装

嵌入式老牛的博客 2288

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

为减轻主核的负载率或者平衡各个核的资源分配,通常需要把一些MCU内部资源分配到从核上,在EB tresos工具中,通过ResourceM模块实现多核资源分配。

m0_38045338的博客 1388

QCustomPlot系列(7)-鼠标跟随显示坐标值(也即:十字游标功能)游标可以吸附采样点

先来个动图看看效果: 这个动图中实现的功能有:1、十字线游标的X值跟随鼠标,Y值不跟随。2、游标的Y值跟随鼠标的X值对应的曲线的Y值,可以点击图例,更换游标跟随哪个曲线的Y值,3、游标不会出现在曲线中不存在点上,而是自动吸附到距离鼠标最近的曲线上的点。 在QCustomPlot插入游标、绿色文本框,都很简单,可参考我的另一篇博客《QCustomPlot系列(6)-》。 ...

野生猿-群号1025127672 2万+

「UG/NX」多功能dll集成一个dll的三种方法

C++多功能集成一个dll的三种方法。

何曾参静谧的博客 1390

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

采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发) QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形。 QCustomPlot的官方网址:https://www.qcustomplot.com/ 从官网下载QCustomPlot的源文件,包括qcustomplot.h和qcustomplot...

码熊之家 6741

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

qt跟随鼠标动态绘制_基于QCustomPlot绘图,鼠标跟随动态显

#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_NULLP...

weixin_39979516的博客 299

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

QT5 QCustomPlot折线曲线显示与跟随示例:实时数据展示的利器

QT5 QCustomPlot折线曲线显示与跟随示例:实时数据展示的利器 去发现同类优质开源项目:https://gitcode.com/ 在当今快速发展的数据可视化领域,如何实现高效、直观的数据展示一直是开发者追求的目标。今天,我们就来介绍一个开源项目——QT5 QCustomPlot折线曲线显示与跟随示例,它不仅能够让您的数据展示更加直观,还能让用户通过交互体验深入了解数据背后的信息。 项目介...

gitblog_06753的博客 435

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

QCustomPlot鼠标跟随动态显示曲线上的坐标点

本程序的源码下载地址: https://github.com/xiongxw/XCustomPlot.git。本程序的源码下载地址: https://github.com/xiongxw/XCustomPlot.git。从官网下载QCustomPlot的源文件,包括qcustomplot.h和qcustomplot.cpp。QCustomPlot的官方网址:https://www.qcustomplot.com/QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形。

bubbleyang的博客 2359

QCustomPlot绘图实现光标滑过曲线显示点的坐标

有两种方法可实现这个效果: 1.通过关联QCustomPlot的mouseMove信号槽事件实现; 2.通过继承QCustomPlot类,重写mouseMove虚函数实现; 这个两个方法都是获取鼠标位置,然后计算出点的坐标值,利用QToolTip显示点坐标的方法。 方向弄清楚了,现在我们去实现出来,go…… 一、信号槽方法 1、首先建立一个鼠标移动时间响应函数: private slots: void MyMouseMoveEvent(QMouseEvent *event); 2、将

shaderdx的专栏 5010

QCustomPlot实现鼠标点击显示曲线值

QCustomPlot提供了QCPItemTracer,通过配置可实现对显示曲线数值点的跟踪。曲线数值点的取值信息文本显示通过配置QCPItemText实现。文本显示框与数值跟踪点由直线箭头相连,通过配置QCPItemLine实现。if(plot){//tracer按照坐标值设置位置//设置label的父锚点。

weixin_43493507的博客 3765

QCustomPlot基础教程(七)——Qt设置鼠标跟随动态显示曲线上的点的值(多条曲线)

目录一、代码示例1.1 绘制两条曲线1.2 mainwindow.h头文件1.3 mainwindow.cpp源文件1.4 重写mouseMoveEvent事件函数二、运行结果 一、代码示例 1.1 绘制两条曲线 利用QCustomPlot绘制曲线的代码就不过多介绍了,详情可参考:QCustomPlot基础教程(二)——在Qt中绘制多个曲线。 曲线绘制结果如下: 1.2 mainwindow.h头文件 包含一个槽函数,声明两个变量: public slots: void mouseMoveEven

Wendy的博客 6418
上一篇: 一步步打造无frame的Qt自定义界面
下一篇: 基于MSVC2017+OpenSSL1.0.2j的Qt5.12.0 for arcGIS Qt SDK动态编译
洗洗睡去
博客等级 码龄19年 277粉丝 90原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值