.pro
QT += core gui charts
widget.h
#include "widget.h"
#include "ui_widget.h"
#include <QChart>
#include <QChartView>
#include <QValueAxis>
#include <QLineSeries>
#include <QSplineSeries>
#include <QPen>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setLayout(ui->verticalLayout);
//1创建图表视图;这里直接在ui中创建了
//QChartView *chartView = new QChartView();
//2、创建图表;
QChart *chart = new QChart();
//3、创建坐标轴;
QValueAxis *valueAxisX = new QValueAxis();
QValueAxis *valueAxisY = new QValueAxis();
//4、设置坐标轴范围;
valueAxisX->setRange(0,5000);
valueAxisY->setRange(0,110);
//5、设置坐标轴标题和显示格式;
valueAxisX->setTitleText("时间/ms");
valueAxisY->setTitleText("温度/℃");
valueAxisX->setLabelFormat("%d");
valueAxisY->setLabelFormat("%.2f");
//设置坐标轴的精度;
valueAxisX->setTickCount(11);
valueAxisY->setTickCount(11);
//6、图表添加坐标轴;
chart->addAxis(valueAxisX,Qt::AlignBottom);
chart->addAxis(valueAxisY,Qt::AlignLeft);
//7、设置图表的标题以及图例显示;
chart->setTitle("温度变化图");
chart->legend()->setVisible(false);
//8、创建曲线;
QSplineSeries *splineSeres = new QSplineSeries;
splineSeres->append(0,50);
splineSeres->append(1000,100);
splineSeres->append(2000,80);
splineSeres->append(3000,40);
splineSeres->append(4000,60);
splineSeres->append(5000,50);
//9、设置曲线的颜色;
QPen pen(QColor(0xff5566));
pen.setWidth(5);
splineSeres->setPen(pen);
//10、图表添加线;
chart->addSeries(splineSeres);
//11、将曲线和坐标轴联系起来;
splineSeres->attachAxis(valueAxisX);
splineSeres->attachAxis(valueAxisY);
//12、将图表放置在图表视图显示出来;
ui->chartView->setChart(chart);
}
Widget::~Widget()
{
delete ui;
}
效果: