1、创建QT GUI应用,基类选择"QMainWindows",在.pro中添加:
QT += charts
在源文件中添加:
#include<QCharts>
2、在构造函数中添加:
QChartView *chartView = new QChartView(this);
QChartView *chartView = new QChartView(this);
QChart *chart = new QChart();
chart->setTitle("简单函数曲线"); //图标的名字
chartView->setChart(chart);
setCentralWidget(chartView);
QChartView *chartView = new QChartView(this);
QChart *chart = new QChart();
chart->setTitle("简单函数曲线"); //图表的名字
chartView->setChart(chart);
setCentralWidget(chartView);
//创建曲线序列
QLineSeries *series0 = new QLineSeries();
QLineSeries *series1 = new QLineSeries();
series0->setName("sin曲线"); //自动添加折线名字
series1->setName("cos曲线");
chart->addSeries(series0);
chart->addSeries(series1);
QChartView *chartView = new QChartView(this);
QChart *chart = new QChart();
chart->setTitle("简单函数曲线"); //图标的名字
chartView->setChart(chart);
setCentralWidget(chartView);
//创建曲线序列
QLineSeries *series0 = new QLineSeries();
QLineSeries *series1 = new QLineSeries();
series0->setName("sin曲线"); //自动添加折线名字
series1->setName("cos曲线");
chart->addSeries(series0);
chart->addSeries(series1);
//序列添加数值
qreal t = 0, y1, y2, intv = 0.1;
int cnt = 200;
for(int i = 0; i < cnt; ++i){
y1 = qSin(t);
series0->append(t, y1);
y2=qSin(t+20);
series1->append(t,y2);
t+=intv; //每次角度增加
}
//创建坐标
QValueAxis *axisX = new QValueAxis;//X轴
axisX->setRange(0, 10);//设置坐标轴范围
axisX->setTitleText("time(secs)");//标题
axisX->setLabelFormat("%.1f"); //标签格式:每个单位保留几位小数
axisX->setTickCount(20); //主分隔个数:0到10分成20个单位
axisX->setMinorTickCount(4); //每个单位之间绘制了多少虚网线
// axisX->setGridLineVisible(false);
QValueAxis *axisY = new QValueAxis; //Y 轴
axisY->setRange(-2, 2);
axisY->setTitleText("value");
axisY->setLabelFormat("%.2f"); //标签格式
axisY->setTickCount(10);
axisY->setMinorTickCount(4);
// axisX->setGridLineVisible(false);
//为序列设置坐标轴
chart->setAxisX(axisX, series0);
chart->setAxisY(axisY, series0);
chart->setAxisX(axisX, series1);
chart->setAxisY(axisY, series1);