1.QCustomPlot的使用需要在工程项目里面添加相应的源文件:
2.实现样例—实时显示波形
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->setFixedSize(400,400);
QTimer *timer = new QTimer;
cplot = new QCustomPlot(this);
cplot->setGeometry(QRect(20, 100, 360, 250));
cplot->addGraph();
cplot->graph(0)->setName("Data1");
cplot->graph(0)->setPen(QPen(Qt::blue));
cplot->addGraph();
cplot->graph(1)->setName("Data1");
cplot->graph(1)->setPen(QPen(Qt::red));
cplot->xAxis->setLabel("x");
cplot->yAxis->setLabel("y");
cplot->xAxis->setRange(0, 100);
cplot->yAxis->setRange(0, 100);
connect(timer, SIGNAL(timeout()), this, SLOT(OnSlotReplot()));
timer->start(1000);
}
MainWindow::~MainWindow()
{
}
void MainWindow::OnSlotReplot(){
QVector<double> x(100), y(100);
QVector<double> x1(100), y1(100);
for(int i=0; i < 100; i++){
x[i] = i;
y[i] = rand() % 40 + 40;
x1[i] = i;
y1[i] = rand() % 40;
}
cplot->graph(0)->setData(x,y);
cplot->graph(1)->setData(x1,y1);
cplot->replot();
}
|