qt 将鼠标位置转换为图表坐标系

qt convert mouse position to chart coordinate system

我想在显示 QBarSeries 的 QChart 上显示 callout。 我正在努力研究如何将鼠标的位置转换为 qchart 坐标系,以便我可以将其用作标注中的锚点。 我想在

期间设置它
MainWindow::barSeriesHovered(bool status, int index, QBarSet *barset){}

事件。

我使用以下代码设法做到了:

auto point = QCursor::pos();
point = myChartView->mapFromGlobal(point);
auto pointF = myChartView->mapToScene(point);
pointF = myChartView->chart()->mapFromScene(point);
pointF = myChartView->chart()->mapToValue(point,myChartView->chart()->series().at(0));
myCallout->setAnchor(pointF);

也许不是最有效的使用方式,但确实有效 另一个缺点是,它总是出现在栏的边界,当你在栏内移动时它不会随鼠标光标移动,但是,它有效