Qt5.7中的QtCharts模块在QT5.6及以下版本中的编译安装及使用

 

1、 编译

 

1. 获得QtCharts源代码。Qt5.7之后,Qt现在开源了一个图表模块QtCharts,之前只在收费模块可用。由于版本兼容问题,5.8和5.9版本的QtCharts模块在5.6中编译时会出现不兼容问题,参见http://php.wekeepcoding.com/article/10792742/Cross-compiling+QtDeclarative+for+raspberry+pi 。因此使用5.7.1中的QtCharts模块,获取地址:http://download.qt.io/official_releases/qt/5.7/5.7.1/submodules/

 

QtChart模块对Qt使用还有如下要求:

2. 解压之后直接打开qtcharts工程。

3. Run qmake之后build构建工程

4. 等待编译完成即可得到编译之后的模块,lib文件和dll

 

 

 

2、 安装

使用QtCreator 安装时需要在工程中添加两个部署,分别是install 和docs,为安装和编译文档所用。

 

 

运行run之后,将自动安装QtChart模块到本地的QT中,其实是将QtChart模块的lib和dll动态库及头文件复制到QT的目录中去。在本地目录中会找到相关的文件及目录。

 

 

 

 

3、 安装帮助文档和例程

运行文档编译之后,会在生成目录中,产生doc文件夹,其中包含编译好的帮助文档

 

将qtchars.qch和qtcharts文件夹复制到本地Qt的文档目录中,即可在Qtcreator中查看qtcharts的帮助文档。

 

 

将QtChart源码文件夹中的examples中的charts文件夹复制到Qt安装目录的examples文件夹中,即可在QtCreator中找到QTChart的示例程序,当然也可以直接打开example中的工程运行示例。

 

 

 

任意打开一个例子,编译运行即可。

4、 编写测试程序测试

使用代码设计时,可参照example中的例子进行,如果需要使用designer进行设计,可以通过如下方式进行。

 

1、使用一个Widget作为Chart的载体,在界面上放置一个Widget

2、右键点击这个widget,把这个Widget提升。

把这个Widget提升为QChartView

 

QtChart有两类绘图窗口容器,分别为QChart(QPolarChart)和QChartView,其区别官方文档说明为:

QChart is a QGraphicsWidget that you can show in a QGraphicsScene. It manages the graphical representation of different types of series and other chart related objects like legend and axes. If you simply want to show a chart in a layout, you can use the convenience classQChartView instead of QChart.

QChartView is a standalone widget that can display charts. It does not require separate QGraphicsScene to work. If you want to display a chart in your existing QGraphicsScene, you need to use the QChart (or QPolarChart) class instead.

因为这里是单独作为一个窗体放置,因此用QChartView

3、在Pro文件中添加 QT += charts 表明包含QtChart模块

此声明将QtChart模块的头文件lib文件及运行库均导入到项目工程中,实际上QT += charts 表明包含Qt Make中的 qt_lib_charts.pri文件,如果不安装QtChart模块,此语法将失效,代替方法在下边说明

 

3、在Mainwidow的头文件中添加

#include 

#include 

using namespace QtCharts;

使得提示之后的Widget可以显示。

构造函数中加入 如下测试代码

#include "mainwindow.h"

#include "ui_mainwindow.h"


#include 



MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);



QLineSeries* line1 = new QLineSeries();

for(double x=0;x(10;x+=0.1)

{

line1->append(x,sin(x));

}

QChart* c = new QChart();

c->addSeries(line1);

ui->widget->setChart(c);

}

MainWindow::~MainWindow()

{

delete ui;

}

使用QtChart生成一条曲线,并显示,运行结果如下:

 

5、 打包给第三方使用

 

第三方使用QtCharts时,可以不需要再次编译安装,只需要将编译好的模块打包即可使用。

 

在以上编译安装的基础上,将编译好的库和头文件打包之后, 即可使用。

 

1. 复制编译生成目录中的lib文件夹中的lib和dll文件,到打包文件夹中

2. 从安装后的QT目录中复制include文件夹到打包目录中(此处一定要是安装之后的头文件,源码中的头文件与编译安装后的头文件路径有所不同,源码中的头文件使用起来极不方便)

3. 此时即可使用了,如果需要帮助文件和example,需要将编译生成的doc文件夹和源码中的example文件夹复制到打包文件夹中,打包后的模块包含如下内容

4. 第三方使用时,在Pro文件中,不能再添加QT += charts,而需要改为如下包含的头文件目录和lib目录

运行时,将对应的Qt5Charts.dll添加至运行目录,即可使用该模块、

 

5. 第三方需要使用帮助文件时,将qtcharts.qch文件添加到QtCreator->选项->帮助->文档->添加到目录中,即可在help中查找帮助。

你可能感兴趣的:(QtCharts,编译)