- 编译源码
1.用qt 5.6.2 mingw 打开QtCharts源码工程文件
QtCharts源码下载:
链接:https://pan.baidu.com/s/1sUD-mGISa8k-zFhpTLrc1w
提取码:f8oy
2.选择release 构建 ,编译成功后出现
3.创建一个QtCharts文件夹,将编译生成的lib文件放到QtCharts文件夹中,只留下.a .prl .dll 文件,如下图
将源码中的include文件夹和src文件也放进来
2. 测试
1.创建一个测试工程
2.将上面创建的QtCharts文件夹放到这个工程目录下面;
3.右键项目加载库
4…pro文件多了:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/QtCharts/lib/ -lQt5Charts
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/QtCharts/lib/ -lQt5Chartsd
INCLUDEPATH += $$PWD/QtCharts/include
DEPENDPATH += $$PWD/QtCharts/include
5.写一个官方的列子:
Mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtCharts/QtCharts>
QT_CHARTS_USE_NAMESPACE
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QLineSeries *series0 = new QLineSeries();
QLineSeries *series1 = new QLineSeries();
*series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6)
<< QPointF(16, 7) << QPointF(18, 5);
*series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3)
<< QPointF(16, 4) << QPointF(18, 3);
QAreaSeries *series = new QAreaSeries(series0, series1);
series->setName("Batman");
QPen pen(0x059605);
pen.setWidth(3);
series->setPen(pen);
QLinearGradient gradient(QPointF(0, 0), QPointF(0, 1));
gradient.setColorAt(0.0, 0x3cc63c);
gradient.setColorAt(1.0, 0x26f626);
gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
series->setBrush(gradient);
QChart *chart = new QChart();
chart->addSeries(series);
chart->setTitle("Simple areachart example");
chart->createDefaultAxes();
chart->axisX()->setRange(0, 20);
chart->axisY()->setRange(0, 10);
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
this->setCentralWidget(chartView);
}
MainWindow::~MainWindow()
{
delete ui;
}
记得添加上: QT_CHARTS_USE_NAMESPACE
运行效果: