[C++] Afficher les valeurs de tracé sur la souris. - Détecter les points Scatter


Answers

Vous pouvez facilement connecter un emplacement au signal mouseMove que QCustomPlot émet. Vous pouvez ensuite utiliser QCPAxis::pixelToCoord pour trouver la coordonnée:

connect(this, SIGNAL(mouseMove(QMouseEvent*)), this,SLOT(showPointToolTip(QMouseEvent*)));

void QCustomPlot::showPointToolTip(QMouseEvent *event)
{

    int x = this->xAxis->pixelToCoord(event->pos().x());
    int y = this->yAxis->pixelToCoord(event->pos().y());

    setToolTip(QString("%1 , %2").arg(x).arg(y));

}
Question

QCustomPlot d'afficher les valeurs de plot de différents points sur mon QCustomPlot dans lequel j'ai un style de Line de lsLine . Je sais que je pourrais placer un signal de souris sur le QCustomPlot mais cela n'aidera vraiment pas puisque je dois juste être informé quand la souris est au-dessus de ma ligne tracée. Ma question est là est aucun moyen de savoir si la souris est sur ma dispersion point. Y a-t-il un signal auquel je pourrais me connecter et qui me dirait quand la souris est sur un point de dispersion?




Links