qchart 设置线颜色_「Qt」利用QChart实现实时动态的曲线数据展示(进化版)

本文档介绍如何使用QChart在Qt环境中实现动态双曲线的实时展示,支持鼠标拖拽操作,保持历史数据,并在鼠标移动时显示坐标。主要涉及的文件包括.pro、ChartView.h、ChartView.cpp、MainWindow.h、MainWindow.cpp和MainWindow.ui。
摘要由CSDN通过智能技术生成

本代码实现的功能:

  1. 实时动态双曲线
  2. 可以鼠标拖拽
  3. 可以保留已经产生的数据
  4. 随着鼠标的移动实时显示X、Y轴坐标
4d395cb8d52b4e371b8c7f572ef282ba.png

在.pro中

QT       += charts

在ChartView.h中

#ifndef __CHARTVIEW_H__
#define __CHARTVIEW_H__
#include 
#include 
QT_CHARTS_USE_NAMESPACE
class ChartView : public QChartView
{
   
public:
    ChartView(QChart *chart, QWidget *parent = 0);
protected:
    void keyPressEvent(QKeyEvent *event);
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);
private:
    bool isClicking;
    int xOld;
    int yOld;
    QGraphicsSimpleTextItem* m_coordItem;
};
#endif /* __CHARTVIEW_H__ */

在ChartView.cpp中

#include "chartview.h"
ChartView::ChartView(QChart *chart, QWidget *parent) :
    QChartView(chart, parent),
    isClicking(false),
    xOld(0), yOld(0)
{
   
    setRubberBand(QChartView::RectangleRubberBand);
}
void ChartView::mousePressEvent(QMouseEvent *event)
{
   
    if (event->button() & Qt::LeftButton) {
   
        isClicking = true;
    } else if (event->button() & Qt::RightButton) {
   
        chart()->zoomReset();
    }
    QChartView::mousePressEvent(event);
}
void ChartView::mouseMoveEvent(QMouseEvent *event)
{
   
    int x, y;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值