QTQcustomplot的简单应用,波形绘制
QcustomPlot 库介绍
QCustomPlot是基于Qt的画图和数据可视化的C++控件。相比于Qchart、Qwt、QCustomPlot可实现较好动态刷新特性,同时安装比较简单。
QCustomPlot库的安装与导入
从官网中下载QCustomPlot的安装包。将其添加至项目的文件夹中
在项目中直接添加对应的文件
初始工作
将主程序的.h文件添加对QCustomPlot.h文件的引用,添加QCustomPlot的引用
#include <QWidget>
#include"qcustomplot.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
同时,需要在.pro的工程文件重添加QT += printsupport,若不添加,则会使QCustomPlot的编译出错
QT += core gui
QT += printsupport
主界面初始化
添加布局对象和QCustomPlot对象
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
layout=new QVBoxLayout(this);
customPlot=new QCustomPlot(this);
customPlot->resize(500,700);
layout->addWidget(customPlot);
this->setLayout(layout);
}
其执行的结果,如下图所示,可以明显看到,打印出来坐标轴和网格线
QCustomPlot 简单应用——1.绘制静态函数曲线
void Widget::drawStatic()
{
QVector<double>x(101),y(101);
for(int i=0;i<101;i++)
{
x[i]=i/5-10;
y[i]=x[i]*x[i]*x[i];
}
//addGraph 添加图层
//其数据格式需要为vector类型
customPlot->addGraph();
customPlot->graph(0)->setData