QT 如何显示多条曲线
时间: 2024-02-21 08:00:31 浏览: 52
要在QT中显示多条曲线,可以使用QCustomPlot库。该库是一个基于QT的开源图形库,可以用于绘制各种类型的统计图表、科学图表等。
使用QCustomPlot库显示多条曲线的步骤如下:
1. 创建一个QCustomPlot对象,该对象用于显示曲线;
2. 创建一个或多个QCPGraph对象,每个对象代表一条曲线;
3. 将数据添加到每个QCPGraph对象中;
4. 设置每个QCPGraph对象的样式,包括曲线颜色、线型、线宽等;
5. 将每个QCPGraph对象添加到QCustomPlot对象中;
6. 调用QCustomPlot对象的replot()方法重新绘制曲线。
以下是一个简单的示例代码,实现了显示两条正弦曲线:
```c++
#include <QMainWindow>
#include <qcustomplot.h>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr)
: QMainWindow(parent)
{
// 创建QCustomPlot对象
QCustomPlot *plot = new QCustomPlot(this);
setCentralWidget(plot);
// 创建两个QCPGraph对象
QCPGraph *graph1 = plot->addGraph();
QCPGraph *graph2 = plot->addGraph();
// 添加数据到每个QCPGraph对象中
QVector<double> x(101), y1(101), y2(101);
for (int i = 0; i < 101; ++i)
{
x[i] = i / 10.0;
y1[i] = qSin(x[i]);
y2[i] = qCos(x[i]);
}
graph1->setData(x, y1);
graph2->setData(x, y2);
// 设置每个QCPGraph对象的样式
graph1->setPen(QPen(Qt::red));
graph2->setPen(QPen(Qt::blue));
// 重新绘制曲线
plot->replot();
}
};
```