My project is running but it is not plotting the real time graph.
here the problem
QObject::connect: No such slot MainWindow::setRange(QCPRange) in SerialPortData\mainwindow.cpp:32
QObject::connect: (receiver name: 'MainWindow')
QObject::connect: No such slot MainWindow::setRange(QCPRange) in SerialPortData\mainwindow.cpp:33
QObject::connect: (receiver name: 'MainWindow')
my code is here
//Graph plotting ui->Plot->addGraph(); // blue line ui->Plot->graph(0)->setPen(QPen(QColor(40, 110, 255))); QSharedPointer<QCPAxisTickerTime> timeTicker(new QCPAxisTickerTime); timeTicker->setTimeFormat("%h:%m:%s"); ui->Plot->xAxis->setTicker(timeTicker); ui->Plot->axisRect()->setupFullAxesBox(); ui->Plot->yAxis->setRange(-100, 100); // make left and bottom axes transfer their ranges to right and top axes: connect(ui->Plot->xAxis,SIGNAL(rangeChanged(QCPRange)),SLOT(setRange(QCPRange))); connect(ui->Plot->yAxis,SIGNAL(rangeChanged(QCPRange)),SLOT(setRange(QCPRange))); // setup a timer that repeatedly calls MainWindow::realtimeDataSlot: QTimer dataTimer; connect(&dataTimer,SIGNAL(timeout()),this,SLOT(realtimedata())); dataTimer.start(0); // Interval 0 means to refresh as fast as possible
my slot
void MainWindow::realtimedata() { static QTime time(QTime::currentTime()); // calculate two new data points: double key = time.elapsed()/1000.0; // time elapsed since start of demo, in seconds static double lastPointKey = 0; if (key-lastPointKey > 0.002) // at most add point every 2 ms { // add data to lines: ui->Plot->graph(0)->addData(key, qSin(key)+qrand()/(double)RAND_MAX*1*qSin(key/0.3843)); //ui->Plot->graph(1)->addData(key, qCos(key)+qrand()/(double)RAND_MAX*0.5*qSin(key/0.4364)); // rescale value (vertical) axis to fit the current data: //ui->customPlot->graph(0)->rescaleValueAxis(); //ui->customPlot->graph(1)->rescaleValueAxis(true); lastPointKey = key; } // make key axis range scroll with the data (at a constant range size of 8): ui->Plot->xAxis->setRange(key, 8, Qt::AlignRight); ui->Plot->replot(); // calculate frames per second: static double lastFpsKey; static int frameCount; ++frameCount; if (key-lastFpsKey > 2) // average fps over 2 seconds { ui->statusBar->showMessage( QString("%1 FPS, Total Data points: %2") .arg(frameCount/(key-lastFpsKey), 0, 'f', 0) .arg(ui->Plot->graph(0)->data()->size()) , 0); lastFpsKey = key; frameCount = 0; } }
this is for ECG data so i want to plot a graph for that. i didnt find the solution, im new to Qt.
i dont know how to set the value of real time data for plotting a graph.
i had my image here
https://drive.google.com/open?id=135X0yYAELZQqO60f4_rC2hVPfvlyZ21m
Please open,see and help me to resolve
i hope u all make me understand...
Thanks in advance
R.Sudhakar