QChartをクリックしたポイントを描画しようとしています。そのために、QChart を継承する「ChartWidget」クラスを作成し、次のようにペイント メソッドをオーバーライドしました。
void ChartWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QtCharts::QChart::paint(painter, option, widget);
if (_pointToDraw != nullptr)
{
std::cout << "Drawing point" << std::endl;
QPen pen;
pen.setColor(QColor(255, 0, 0, 255));
pen.setWidth(3);
painter->setPen(pen);
painter->drawPoint(*_pointToDraw);
delete _pointToDraw;
_pointToDraw = nullptr;
}
}
void ChartWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
std::cout << "Clicked at " << event->pos().x() << "/" << event->pos().y() << std::endl;
_pointToDraw = new QPointF(event->pos());
update();
}
このスクリーンショットのように、チャートのすぐ外側をクリックしたときにしか表示されないため、ポイントは描画されているように見えますが、チャートの後ろにあります。

チャートの中央をクリックすると、何も表示されません。
私が間違っていることと、これを修正する方法について何か考えはありますか?