在项目中涉及使用QT绘制曲线图等,所以把用到的记录一下,以免下次遇到再次浪费时间搜帖子。
1.需要下载 qcustomplot.h 和 qcustomplot.cpp 两个文件,下载地址 http://qcustomplot.com/index.php/download,解压,把那两个文件找出来,放在桌面吧
2.打开Qt Creator, 点击New Project,默认选了Qt Widgets Application,再选Choose,选一个创建的目录,我这里选择在桌面创建一个test文件夹,然后选择默认的编译器,接下来这一步,把基类选择QWidget,点击继续。
3. 打开桌面刚创建的test文件夹,将第1步中下载的两个文件复制到test文件夹中
4.返回到Qt界面,在Header文件上右键点击 添加现有文件...,选择 qcustomplot.h,等几秒钟,继续在Sources 文件上右键,选择添加现有文件..., 选择 qcustomplot.cpp,添加完之后,在QT下面就会多出来这两个文件
5.点击Forms文件,点击widget.ui文件 进入到图形编辑,拖一个Widget在界面中
6.在最右侧,下面那个下的widget上右键,选择 提升为...
7.在提升的类名称里面填 QCustomPlot,然后点击添加,在把全局打上勾, 再点击下面的提升
8.在.ui界面拖一个PushButton进去,在界面上右键PushButton选择转到槽,选择默认的clicked(),点ok。就会跳转到这个按钮对应的响应函数,在里面写入
QVector<double> x;
for(double t=0; t<10; i+=0.1)
{
x.push_back(t);
}
QVector<double> y;
for(int i=0; i<x.size(); i++)
{
y.push_back(sin(x)); //使用sin需要在最上面加上 #include <cmath>
}
//绘制图形
ui->show_wave->addGraph();
//设置画笔
ui->show_wave->graph(0)->setPen(QPen(Qt::red));
//传入数据 画图
ui->show_wave->graph(0)->setData(t, y);
ui->show_wave->xAxis->setLabel("x");
ui->show_wave->yAxis->setLabel("y");
ui->show_wave->xAxis->setRange(0,10);//设置x轴显示范围
ui->show_wave->yAxis->setRange(-1,1);//设置y轴显示范围
ui->show_wave->replot();//刷新