QCustomPlot鼠标跟随显示坐标值

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用


背景

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

给个赏吧

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181251.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection

    机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection前面两篇回归(一)(二)复习了线性回归,以及L1与L2正则——lasso和ridgeregression。特别描述了lasso的稀疏性是如何产生的。在本篇中介绍一下和lasso可以产生差不多效果的两种方法:stagewise和LARS

    2022年6月29日
    42
  • 真封神之天尊地魔引擎修改系列教程

    真封神之天尊地魔引擎修改系列教程真封神引擎技术研究QQ交流群:157754180真封神之天尊地魔SF引擎研修目录:本套教程分为三个部分:客户端部分、服务端部分  、以及引擎部分!引擎部分:1.真封神GC去MD5教程      2.引擎修改之突破仓库金钱上限20亿                           3.引擎修改之多次转职            

    2022年7月24日
    39
  • jmeter并发测试步骤_jmeter怎么确定最大并发数

    jmeter并发测试步骤_jmeter怎么确定最大并发数第一种方案直接从数据库中获取账号和密码1、设置线程数为20,我们的并发用户量就是20个用户同时登录2、添加定时器3、设置集合点,当用户数量达到20个的时候再同时请求进行登录操作4、添加配置元件:JDBCConnectionConfiguration5、添加JDBCrequest请求(从数据库获取登录账号和密码)7、添加http登录请求8、查看结果第二种方案对登录账号和密码进行参数化1、添加设置线程数2、添加定时器

    2022年9月30日
    2
  • 超好听的英文名男孩_男生好听小众的英文名

    超好听的英文名男孩_男生好听小众的英文名TroyKentBrandonLandonCordBarneyBlaineVanVictorJulesDylanColeIggy/EgbertJackDoug/DouglasRyderTylerSethNemoDarrenFoleyBennettBrianPhil/PhilipEthanJusticeIvanElliottWilsonJoe/JosephZorbaLiamAdam

    2025年6月15日
    3
  • plot函数的用法_ezplot函数

    plot函数的用法_ezplot函数matlab的图形绘制是非常重要的一种功能,所有关于数据分析挖掘方面一定会用到此项功能。在我们开始第三章数据可视化之前,必须先把plot函数必须弄得清清楚楚才行,下面让我们看看关于它的一切吧!一.plot首先,plot有几种形式(1)plot(X,Y):创建数据Y相对于中相应值X的二维折线图其中,若X,Y是向量,长度必须相等,图是Y对X的若X,Y是矩阵…

    2022年10月11日
    3
  • 快速手工实现软件著作权源码60页制作

    快速手工实现软件著作权源码60页制作软件著作权源码基本要求:(1)前30页,后30页,一共60页。其实前30页还好说,什么叫后30页?实际代码没有绝对的后;(2)每页至少60行,无空行,有一定的注释。快速插入代码先按顺序准备好代码,”插入”-“对象”-“文件中文字”,可快速插入所有代码。每页至少60行首先得知道每页多少行,可通过”页面设置”-“版式”-“行号”,显示出行号:效果如下:设…

    2022年4月19日
    190

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号