QT之QCharts的使用(绘制折线图)

一、画折线图

 

1.修改.pro文件

在里面添加QT += charts

 

2.MyWidget.h程序

#ifndef MYWIDGET_H

#define MYWIDGET_H



#include 

/*添加以下三个头文件*/

#include 

#include 

#include 

QT_BEGIN_NAMESPACE

namespace Ui { class MyWidget; }

QT_END_NAMESPACE



class MyWidget : public QWidget

{

    Q_OBJECT



public:

    MyWidget(QWidget *parent = nullptr);

    ~MyWidget();


private:

    Ui::MyWidget *ui;

    QChart *mChart;    //创建图表对象

};

#endif // MYWIDGET_H

 

2.MyWidget.cpp程序

#include "mywidget.h"

#include "ui_mywidget.h"


MyWidget::MyWidget(QWidget *parent)

    : QWidget(parent)

    , ui(new Ui::MyWidget)

{

    ui->setupUi(this);

    QLineSeries *lineSeries = new QLineSeries();        //创建折线系列


    QChartView *chartView = new QChartView(this);


    /*为系列里添加100个数据*/

    for(quint8 i=0; i<100; i++)

    {

        lineSeries->append(i,qrand()%300);

    }


    lineSeries->setName("系列一");                  //设置系列名称


    mChart = new QChart();                          //创建图标对象


    mChart->addSeries(lineSeries);                  //向图表中添加系列


    mChart->createDefaultAxes();                       //创建默认的坐标,必须在addSeries之后调用

    mChart->setTheme(QChart::ChartThemeDark);           //设置图标主题


    mChart->setTitle("图标实例");                       //设置图标名称


    mChart->legend()->hide();                          //隐藏图例,也就是不显示系列名称了


    chartView->setChart(mChart);                    //向chartView中添加图标


    chartView->resize(QSize(500,300));              //重新设置chartView的大小


    chartView->setRenderHints(QPainter::Antialiasing);//消除边缘,看起来平滑一些


    ui->horizontalLayout->addWidget(chartView);     //把chartView放到水平布局中(在ui中拖一个水平布局)

}


MyWidget::~MyWidget()

{

    delete ui;

}

QT之QCharts的使用(绘制折线图)_第1张图片

 

你可能感兴趣的:(QT)