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鼠标点击后在坐标轴显示值

实战指南:如何用Frida绕过某梆加固的Anti-Frida检测(附完整脚本)

本文深入剖析了企业级加固方案中的Anti-Frida检测机制,并提供了实战对抗策略。通过分析基于文件系统、内存特征、行为及环境的多层次检测原理,文章详细介绍了如何定位检测逻辑、绕过maps文件扫描、对抗内存与行为特征检测,并附上了针对某梆加固的完整绕过脚本与系统化工程方案。

weixin_42527589的博客 600

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

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

gitblog_09809的博客 1276

抖音短连接v.douyin.com/xxx 如何生成?

最近公司有个需求,在抖音里如何宣传自己的网站,并且不要有拦截域名的提示,截图如下。 通过ida反编译抖音的app后,将下载后的ipa文件用解压缩软件(如7zip等)解压,从解压后的目录Payload/Aweme.app/找到Aweme可执行文件,拖入ida进行反编译,ida可以检测objective-c语法。 然后进入主题,既然是聊天发消息,就尝试在ida里搜索"message",看看能否找到对...

kakuapi的博客 3万+

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

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

gitblog_09813的博客 614

J-LINK下载程序出现No Cortex-M Device found in JTAG chain…问题,最全7种解决方法

J-Link下载程序出现No Corect 等的问题的7种方法 后来编辑JLinkSettings.ini文件,找到"Device"项,将其更改Device="Cortex-M0+"

cjmsea的博客 5613

【寄存器模型】一、一个简单的寄存器模型

在描述寄存器模型之前,首先来了解一下实际寄存器的组成结构:如下图所示的DUT内部真实的寄存器寄存器中最小的一个单位是域(field),域是由一个或多个bit拼接而成的。一个或多个域就构成了一个寄存器(reg)。一个或多个寄存器就构成了一个块(block)。将DUT中的寄存器抽象出来,建立寄存器模型,如下图所示:uvm library已经定义好了field、reg、block等相关的概念,构建寄存器模型时,只需要继承这些类即可。:构建寄存器模型中的域段。uvm_reg。...

carrotbanana的博客 5368

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

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

kbq的博客 2万+

24、虚拟地理信息系统:技术与应用的全面解析

本文全面解析了虚拟地理信息系统(虚拟GIS)的技术架构与应用前景。文章从地理空间数据的增长出发,探讨了虚拟GIS在地形、建筑、天气等多维度数据的交互式可视化技术,重点介绍了全球层次结构、多分辨率模型、缓存分页机制及交互导航方法。系统已应用于天气分析、城市规划、应急响应等领域,并展望了未来在数据处理、模拟操作、移动可视化及智能城市、文化遗产保护等方向的发展路径与技术挑战。

v4w5x6的博客 89

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

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

danshiming的博客 1569

YOLOv10 的损失函数解析

YOLOv10 在 YOLO 系列的演进中进一步优化了任务解耦与动态平衡策略,通过 ​多模态损失融合、自适应样本分配 和 ​轻量化设计,显著提升了检测精度与推理效率。

浩瀚之水的专栏 1378

MyBatis-Plus 实战:敏感字段自动加解密支持模糊查询

本文基于MyBatis-Plus框架提出了一种全链路敏感字段加密方案。通过自定义TypeHandler实现数据入库自动加密和查询自动解密,结合重写LambdaQueryWrapper处理查询条件加密,并适配多种查询方式。方案核心包括:1)AESUtil工具类提供加解密基础能力;2)EncryptTypeHandler实现字段类型转换;3)实体类通过注解配置加密字段。该方案在保证数据安全的同时,对业务代码侵入性小,支持姓名、手机号等敏感信息的全流程加密处理,满足系统开发的安全需求。

蔡定努 596

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

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

野生猿-群号1025127672 2万+

Untiy之如何实现AI+MR (Pico4u 相机推流MR画面给Server做实时AI图像识别)

本文介绍了基于Pico4U企业版开发AI+MR应用的实现方案。文章详细说明了硬件准备步骤,包括购买企业版设备、申请相机权限和注册管理平台。重点讲解了Unity开发中获取摄像头画面的两种技术方案:通过Overlay直接渲染到Android Surface,或使用API获取图像数据转换为Texture。提供了完整的代码示例和权限配置说明,并揭示了底层通过JNI调用Android原生API的技术原理。该方案适用于带电操作等实习场景,可提升安全性和学习趣味性。

TxNet 1341

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

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

码熊之家 6741

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

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

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

gitblog_06753的博客 435

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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、付费专栏及课程。

余额充值