QLineSeries是一个绘制折线图的类,使用也非常的简单,先看看下面的例子:
#include <QtWidgets/QApplication> #include <QtWidgets/QMainWindow> #include <QtCharts/QChartView> #include <QtCharts/QLineSeries> #include <QtCharts/QAreaSeries> QT_CHARTS_USE_NAMESPACE int main(int argc, char *argv[]) { QApplication a(argc, argv); QLineSeries *series = new QLineSeries(); series->setPen(QPen(Qt::blue,1,Qt::SolidLine)); //设置画笔 //series->setColor(QColor(0,0,255)); //设置颜色 *series << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6) << QPointF(16, 7) << QPointF(18, 5); //添加数据 QChart *chart = new QChart(); chart->addSeries(series); chart->setTitle("Simple example"); chart->createDefaultAxes(); //设置默认的坐标系,如果不设置程序是运行不了的 chart->axisX()->setRange(0, 20);//设置图表坐标轴的范围,可以不设置,自动调节的 chart->axisY()->setRange(0, 10); QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); //抗锯齿渲染 QMainWindow window; window.setCentralWidget(chartView); window.resize(400, 300); window.show(); return a.exec(); }
代码很简单,一看就知道在说啥,所以以下归纳和延伸几点:
1. 使用QtCharts必须先声明的它的命名空间QT_CHARTS_USE_NAMESPACE,当然也可以这样声明using namespace QT_CHARTS_NAMESPACE;
2. 往折线对象添加数据的时候,除了用<<添加,还可以用append()函数来添加,函数原型如下:
<span style="white-space:pre"> </span>void append(qreal x, qreal y); <span style="white-space:pre"> </span>void append(const QPointF &point); <span style="white-space:pre"> </span>void append(const QList<QPointF> &points);从上面三个函数说明利用append()函数是比较的灵活,特别是利用QList容器去添加数据,可以一次性去添加数据。
最后的效果图: