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

时间:2018-01-04 13:37:46

标签: c++ qt qtchart

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

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

事件。

1 个答案:

答案 0 :(得分:0)

我设法使用以下代码:

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);

可能不是最有效的用途,但是,它可行 另一个缺点是,它总是出现在条形的边框,并且当你在条形图内移动时不会随着鼠标光标移动,但是,是的,它可以工作