提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:这里可以添加本文要记录的大概内容:
从之前的工程中移植曲线显示代码到另外一个工程
提示:以下是本篇文章正文内容,下面案例可供参考
将文件添加到工程
右键 Forms 选择新建
添加控件
新建一个mainwidget 来添加工具
升级窗口
添加工程中
QT += charts
添加控件
提升控件
#ifndef QCHARTV_H
#define QCHARTV_H
#include <QMainWindow>
#include <QtCharts> //必须这么设置
#include<QMouseEvent>
#include<qwchartview.h>
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
#include "qchartv.h"
#include <qwchartview.h>
#include "ui_qchartv.h"
#include <QMenu>
#include <QMenuBar>
#include <QToolBar>
#include<QAction>
#include<QDebug>
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()
{
}
思路,判断将传进来比当前最大值的数,设定为最大值
重点:
1.新建带.h的ui窗口在里面命名,并添加控件作为显示用
2.拷贝文件,qwchartview.cpp qwchartview.h 里面有重新对鼠标等的控制
3.