Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QCustomPlotMouseTracer(Crosshair)



  • I built the mouseTracer for CustomPlot but I want it follows the curve like in this video
    https://www.youtube.com/watch?v=BzK1DmJPbuk

    Any ideas?



  • @vale88 I used this class https://www.qcustomplot.com/index.php/support/forum/1166
    but I want the mouse follows the graph like in the video I wrote in MainWindow this and I use a connect for sign and slot, but mouse follows only max and min

    void MainWindow::mouseTracer()

    {
    //ui->Grafico_Altezza_LdC_Acquisizione->positionX = ui->Grafico_Altezza_LdC_Acquisizione->xAxis->pixelToCoord( event->pos().x() );
    int x = static_cast<int>(ui->Grafico_Altezza_LdC_Acquisizione->positionX);
    ui->Grafico_Altezza_LdC_Acquisizione->positionY = f_altezza[x];
    if((ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerX) && (ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerY))
    {
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerX->point1->setCoords(ui->Grafico_Altezza_LdC_Acquisizione->positionX, 0);//VERTICALE
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerX->point2->setCoords(ui->Grafico_Altezza_LdC_Acquisizione->positionX, 1);//VERTICALE
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerY->point1->setCoords(0, ui->Grafico_Altezza_LdC_Acquisizione->positionY);//ORIZZONTALE
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerY->point2->setCoords(1, ui->Grafico_Altezza_LdC_Acquisizione->positionY);//ORIZZONTALE
    }
    ui->Grafico_Altezza_LdC_Acquisizione->replot();

    }

    void MainWindow::setPos()

    {
    if(ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerX && ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerY)
    {
    int x = static_cast<int>(ui->Grafico_Altezza_LdC_Acquisizione->positionX_set);
    double y = f_altezza[x];
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerX->point1->setCoords(ui->Grafico_Altezza_LdC_Acquisizione->positionX_set, 0);
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerX->point2->setCoords(ui->Grafico_Altezza_LdC_Acquisizione->positionX_set, 1);
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerY->point1->setCoords(0, y);
    ui->Grafico_Altezza_LdC_Acquisizione->mouseMarkerY->point2->setCoords(1, y);
    }
    ui->Grafico_Altezza_LdC_Acquisizione->replot();

    }


Log in to reply