QChartView
の描画領域にマウスの座標を取得する方法はありますか?好ましくは軸単位である。目的はプロット上でマウスを動かしながらマウスの座標を表示し、プロットされたオブジェクトを測定できるようにすることです。QChartViewの軸システムでマウス座標を取得
QChartView
には、このための組み込み関数が見つかりませんでしたので、QChartView::mouseMoveEvent(QMouseEvent *event)
を使用してプロット領域の結果位置を計算しようとしています。問題は、プロットエリアの座標系への参照を取得できないことです。 私はmapToScene
,mapToItem
とmapToParent
と逆のmapFrom...
を使ってみましたが、すべてのオブジェクトでこれをしようとすると持ちこたえることはできますが、役に立たないのです。
私は、QChartView::chart->childItems()[2]
が実際に軸と軸のラベルを除いてプロット領域であることがわかりました。次に、QChartView::chart->childItems()[2]->setCursor(Qt::CrossCursor)
と呼んで、隣接するオブジェクトではなく、プロット領域にのみ十字を表示させることができます。しかし、やはり私が試してみるものは、このオブジェクトの座標系を正確に参照しているようには見えません。
これは、座標マッピングの正しい組み合わせのようです。私がやったことは、QChartViewをサブクラス化し、直ちに実行された 'QChartView :: mouseMoveEvent()'の中で 'chart() - > mapToValue()'を実装することでした。サブクラス化はZoomingとPanningも実装するのに便利でした。 –