Qt移植曲线显示

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、确定文件组成?
    • 1. 复制新文件
    • 2.新建ui窗口
  • 二、实际操作
    • 2.1 新建Ui窗口,要添加带.h的否则跳转错误
    • 2.2添加文件到.h
    • 2.3 添加文件cpp
  • 三、 自适应曲线y轴
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

从之前的工程中移植曲线显示代码到另外一个工程


提示:以下是本篇文章正文内容,下面案例可供参考

一、确定文件组成?

1. 复制新文件

Qt移植曲线显示_第1张图片

将文件添加到工程

Qt移植曲线显示_第2张图片

2.新建ui窗口

右键 Forms 选择新建
Qt移植曲线显示_第3张图片

Qt移植曲线显示_第4张图片
Qt移植曲线显示_第5张图片

Qt移植曲线显示_第6张图片

添加控件
Qt移植曲线显示_第7张图片

新建一个mainwidget 来添加工具
Qt移植曲线显示_第8张图片

Qt移植曲线显示_第9张图片

Qt移植曲线显示_第10张图片

Qt移植曲线显示_第11张图片

升级窗口

Qt移植曲线显示_第12张图片

Qt移植曲线显示_第13张图片

添加工程中
QT += charts

二、实际操作

2.1 新建Ui窗口,要添加带.h的否则跳转错误

Qt移植曲线显示_第14张图片
添加控件

Qt移植曲线显示_第15张图片
Qt移植曲线显示_第16张图片
提升控件

Qt移植曲线显示_第17张图片

Qt移植曲线显示_第18张图片

2.2添加文件到.h

Qt移植曲线显示_第19张图片

#ifndef QCHARTV_H
#define QCHARTV_H

#include 
#include   //必须这么设置
#include
#include

namespace Ui {
class qchartV;
}

class qchartV : public QMainWindow
{
    Q_OBJECT

public:
    explicit qchartV(QWidget *parent = 0);
    ~qchartV();
    
    
    QChart *m_chart;   //创建图像显示对象
    QLineSeries *m_series;//创建线
    QChartView *chartView ;//创建图表
    QValueAxis *axisX ;
    QValueAxis *axisY ;

private slots:
    void on_acZoomReset_triggered();
    
    void on_acQuit_triggered();
    
    void on_acZoomIn_triggered();
    
    void on_acZoomOut_triggered();
    
private:
    Ui::qchartV *ui;
};

#endif // QCHARTV_H


2.3 添加文件cpp

Qt移植曲线显示_第20张图片

#include "qchartv.h"

#include 

#include "ui_qchartv.h"

#include 
#include 
#include 
#include
#include


qchartV::qchartV(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::qchartV)
{
    ui->setupUi(this);
    
    
    ui->centralwidget->setMouseTracking(true);
    ui->graphicsView->setMouseTracking(true);
    this->setMouseTracking(true);//必须开启此功能

  //  ui->toolBar->actions();
    setWindowTitle("xxxxxxxx");

   createChart();//创建图表
   labXYValue = new QLabel("X=,  Y=  "); //状态栏显示鼠标点的坐标
   labXYValue->setMinimumWidth(200);

//   ui->statusBar->addWidget(labXYValue);
   ui->statusbar->addWidget(labXYValue);

   QObject::connect(ui->graphicsView,SIGNAL(mouseMovePoint(QPoint)),
                    this, SLOT(on_mouseMovePoint(QPoint)));  //鼠标移动事件
}

qchartV::~qchartV()
{
    delete ui;
}

void qchartV::on_acZoomReset_triggered()
{
    
}

void qchartV::on_acQuit_triggered()
{
    
}

void qchartV::on_acZoomIn_triggered()
{
    
}

void qchartV::on_acZoomOut_triggered()
{
    
}

三、 自适应曲线y轴

思路,判断将传进来比当前最大值的数,设定为最大值

总结

重点:
1.新建带.h的ui窗口在里面命名,并添加控件作为显示用
2.拷贝文件,qwchartview.cpp qwchartview.h 里面有重新对鼠标等的控制
3.

你可能感兴趣的:(Qt,开发,qt,数据库,开发语言)