Получить позицию x,y элемента в QCustomplot
Доброе утро всем, у меня есть код на C++- создатель QT, этот код представляет собой график QCustomplot с несколькими пунктами.
Как мы можем видеть на картинке, когда я нажимаю на точку (эта точка является QCPItemTracer), я получаю позицию x и y, но моя проблема в том, что если я щелкаю в левой части точки, я получаю значение, и если я нажимаю на с правой стороны я получаю другое значение, то есть среднее значение в моем коде я использовал положение мыши над точкой (e->pos().x() и e->pos().y()). для меня я хочу, когда я нажимаю на эту точку, я получаю те же х и у, что и был создан. это код, который я использовал, чтобы получить значение.
void MainWindow::click(QCPAbstractItem *item, QMouseEvent *e)
{
if (e->button() == Qt::LeftButton && qobject_cast<QCPItemTracer *>(item))
{
QCustomPlot* customPlot = qobject_cast<QCustomPlot*>(sender());
int x = customPlot->xAxis->pixelToCoord(e->pos().x());
int y = customPlot->yAxis->pixelToCoord(e->pos().y());
textItem->setText(QString("(%1, %2)").arg(x).arg(y));
textItem->position->setCoords(QPointF(x, y));
textItem->setFont(QFont(font().family(), 10));
customPlot->replot();
return;
}
Я надеюсь, что кто-то может мне помочь. Спасибо