1、直接上代码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtCharts>
using namespace QtCharts;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void createChart();
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
createChart();
}
MainWindow::~MainWindow()
{
}
void MainWindow::createChart()
{
//创建图表
QChartView* pChartView = new QChartView(this);
pChartView->resize(500,600);
//创建Chart
QChart* pChart = new QChart();
pChart->setTitle("简单的函数曲线");
pChartView->setChart(pChart);
this->setCentralWidget(pChartView);
//创建折线序列
QLineSeries* pLineSeries1 = new QLineSeries;
QLineSeries* pLineSeries2 = new QLineSeries;
pLineSeries1->setName("折线1");
pLineSeries2->setName("折线2");
pChart->addSeries(pLineSeries1);
pChart->addSeries(pLineSeries2);
///给序列添加数值
qreal t= 0,y1,y2,intV= 0.1;
int nCount = 1000;
for(int i = 0; i < nCount; i++)
{
y1 = qSin(t);
pLineSeries1->append(t,y1);
y2 = qSin(t + 20);
pLineSeries2->append(t,y2);
t += intV;
}
///创建坐标轴
QValueAxis* pAxisx = new QValueAxis;
QValueAxis* pAxisy = new QValueAxis;
pAxisx->setRange(0, 100);
pAxisx->setTitleText("Time(secs)");
pAxisy->setRange(-2, 2);
pAxisy->setTitleText("value");
pLineSeries1->setColor("#1453ad");
pLineSeries2->setColor("#ad1453");
//为序列设置坐标轴
pChart->setAxisX(pAxisx, pLineSeries1);
pChart->setAxisY(pAxisy, pLineSeries1);
pChart->setAxisX(pAxisx, pLineSeries2);
pChart->setAxisY(pAxisy, pLineSeries2);
}
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
2、注意pro文件加上
QT +=charts