Hi there,
Thanks for this amazing library. I'm net to QT and I was trying to use this tool to plot some real time data.
I followed the basic plotting example and it worked, then I tried to the real-time by following this https://www.qcustomplot.com/index.php/demos/realtimedatademo
Sadly, it did not work, I get an empty graph, the axes are displayed but nothing is drawn on it.
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); MainWindow:: makePlot(); } MainWindow::~MainWindow() { delete ui; } void delay(int n) { QTime dieTime= QTime::currentTime().addSecs(n); while (QTime::currentTime() < dieTime) QCoreApplication::processEvents(QEventLoop::AllEvents, 100); } void MainWindow::makePlot(){ // generate some data: QTimer dataTimer; //QTimer *dataTimer = new QTimer(this); dataTimer.setSingleShot(false); ui->customPlot->addGraph(); // blue line ui->customPlot->graph(0)->setPen(QPen(QColor(40, 110, 255))); ui->customPlot->addGraph(); // red line ui->customPlot->graph(1)->setPen(QPen(QColor(255, 110, 40))); QSharedPointer<QCPAxisTickerTime> timeTicker(new QCPAxisTickerTime); timeTicker->setTimeFormat("%h:%m:%s"); ui->customPlot->xAxis->setTicker(timeTicker); ui->customPlot->axisRect()->setupFullAxesBox(); ui->customPlot->yAxis->setRange(-1.2, 1.2); // make left and bottom axes transfer their ranges to right and top axes: connect(ui->customPlot->xAxis, SIGNAL(rangeChanged(QCPRange)), ui->customPlot->xAxis2, SLOT(setRange(QCPRange))); connect(ui->customPlot->yAxis, SIGNAL(rangeChanged(QCPRange)), ui->customPlot->yAxis2, SLOT(setRange(QCPRange))); // setup a timer that repeatedly calls MainWindow::realtimeDataSlot: std::cout<<"looped in for 1"<<std::endl; connect(&dataTimer, SIGNAL(timeout()), this, SLOT(realtimeDataSlot())); std::cout<<"looped in for 2"<<std::endl; dataTimer.start(0); // Interval 0 means to refresh as fast as possible std::cout<<"looped in for 3"<<std::endl; } void MainWindow::realtimeDataSlot() { cout<<"test string"<<endl; /*the code from the demo page*/}
I added a cout in realtimeDataSlot as you can see and that "test string" never appears, which means the functions is never called...
Could some please help me with this?
Thanks in advance!