Qt图形图像开发之曲线图表库QChart编译安装详细⽅法与
使⽤实例
Qt曲线图表库Qt Chart简介
Qt的线性绘图控件有⼤名⿍⿍的Qwt,ChartDirector,⼩巧玲珑的QCustomPlot,当然还有⾃家的QtChart。长久以来QtChart 在Qt家族⾥⼀直是收费的模块,只有商业版才可以使⽤,但Qt5.7之后将开放其权限,可参见:Qt 5.7 亮瞎眼的更新。下⾯将介绍如何安装QtChart并进⾏简单的绘图。
Qt曲线图表库Qt Chart下载
这⾥⽤git下载QtChart,参考Qt Charts 5.7.0 安装教程
下载完⽬录是这样的:
开始编译前需要下载Perl:
直接下⼀步点到头安装。
安装完成后需要重启⼀下电脑或者⼿动激活⼀下环境变量。
编译Qt Chart库
此时⽤Qt Creator加载qtcharts.pro
稍等⽚刻后:
此时在⽣成⽬录下⽣成:
⾄此QtChart库编译成功
安装Qt Chart库
编译结束后就可以进⾏安装了
选择Qt Creator项⽬栏 - 运⾏标签 - 添加部署构建
这⾥需要添加两个部署,⼀个是QtChart的安装,⼀个是QtChart⽂档的编译。
perl下载安装教程如图所⽰配置完后,点击运⾏
这时会有很多复制的信息,它会把编译好的dll和头⽂件复制到Qt的安装⽬录下
打开Qt⽬录下的lib⽂件夹和include⽂件夹可以看到被复制过来的QtChart信息。
这时,再看QtChart的⽣成⽬录,⽐第⼀次编译时多了⼀个doc⽂件夹
你只要把这个doc⽂件夹⾥的qtcharts⽂件夹和qtcharts.qch⽂件复制到Qt安装⽬录下的Docs⽂件夹内对应版本⽂件夹下即可这时打开Qt Assisant,搜QtChart,即可看到说明⽂档!
这时你的QtChart⼤部分已经配置完成。
Qt Chart使⽤实例
下⾯演⽰如何⽤Qt Creator的界⾯设计师创建⼀个QtChart,其他⽅法可见参考⽂献。
⾸先新建⼀个Widget项⽬
使⽤⼀个Widget作为Chart的载体,在界⾯上放置⼀个Widget
右键点击这个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 class QChartView 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
提升的类名为QChartView
头⽂件也为QChartView ,Qt每个类都有个⽆后缀的同类名⽂件,⽅便include
尝试编译⼀下程序会出现⼀个错误:
官⽅⽂档说明,使⽤QtChart还需要对pro⽂件进⾏设置:
To create a simple application, start by creating a new Qt Gui Application project in Qt Creator and add this line to the .pro file of the project:
QT += charts
In the main.cpp file, include the module headers and declare namespace usage:
#include <QtCharts>
using namespace QtCharts;
其中,可以使⽤QT_CHARTS_USE_NAMESPACE替代using namespace QtCharts;
添加完所需要的内容,编译还是发⽣错误,错误定位到ui_widget⾥
前⾯说了,⽤到QtChart的地⽅需要包含#include <QtCharts>以及命名空间using namespace QtCharts;(或
者QT_CHARTS_USE_NAMESPACE替代using namespace QtCharts;)
但是ui_widget⽂件是⾃动⽣成的,不能再此⽂件⾥进⾏修改,此⽂件是包含在widget.h的⼀个叫Ui的命名空间中,因此,可以把
#include <QtCharts>
QT_CHARTS_USE_NAMESPACE
放置在widget.h上:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
此时在编译即可:
在构造函数⾥添加:
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->chart->setChart(c);
效果如下:
总结
在使⽤界⾯设计师⽤QtChart时,需要在对应的界⾯头⽂件上添加:
#include <QtCharts>
QT_CHARTS_USE_NAMESPACE
否则会发⽣编译错误!
⾄此本⽂讲解的Qt曲线图表库QtChart编译安装详细步骤与使⽤实例就结束了,更多关于Qt曲线图表库QtChart相关知识请查看下⾯的相关⽂章
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论