1、曲线代码
需要添加以下!!!
这个代码十七行有问题,但是我找不到,恳请看过的大哥看看。
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//1、创建曲线对象
QSplineSeries *s1=new QSplineSeries();
s1->setName("曲线");//设置曲线名字
s1->append(0,5);//标记走向
s1->append(1,6);
s1->append(2,9);
s1->append(3,4);
//2、将图标显示在框内
QChart *ct=ui->chartview_charts->chart();
ct->legend()->hide();//隐藏图标比例
ct->addSeries(s1);//将曲线添加到图表中
ct->setTitle("曲线图表标题");
ct->createDefaultAxes();//显示坐标
ct->axes(Qt::Vertical).first()->setRange(0,20);//设置Y轴的范围
}
Widget::~Widget()
{
delete ui;
}
2、图表显示代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtCharts>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//1、创建图标视图对象
QChartView *chartview=new QChartView(this);
QChart *chart=new QChart();//创建图表
chart->setTitle("图标测试--");
//2、将图标添加到图表视图
chartview->setChart(chart);
//3、将图表视图展示到中间
this->setCentralWidget(chartview);
//4、创建曲线
QLineSeries *s1=new QLineSeries();
QLineSeries *s2=new QLineSeries();
//5、将创建曲线添加到图标
chart->addSeries(s1);
chart->addSeries(s2);
//6、为曲线序列添加对应数值
qreal t=0,y1,y2,iv=0.1;
int cnt=100;
for (int i=0;i<cnt;i++) {
y1=qSin(t);
s1->append(t,y1);
y2=qSin(t+20);
s2->append(t,y2);
t=t+iv;
}
//7、创建坐标轴
QValueAxis *ax=new QValueAxis;
ax->setRange(0,10);
QValueAxis *ay=new QValueAxis;
ay->setRange(-2,2);
chart->setAxisX(ax,s1);
chart->setAxisY(ay,s1);
chart->setAxisX(ax,s2);
chart->setAxisY(ay,s2);
}
MainWindow::~MainWindow()
{
delete ui;
}
输出结果