qt QScatterSeries - сигнал щелчка отправляется в ChartView mousePressEvent

У меня есть собственная реализация QChartView, где я могу масштабировать. (Класс "ChartView" из этого примера) Там у меня есть mousePressEvent.

Теперь я хотел добавить QScatterSeries и соединить сигнал щелчка с пользовательским слотом. К сожалению, как только я нажимаю на свой QScatterSeries, в мой слот ChartView mousePressEvent посылается только сигнал, а не в мой слот QScatterSeries mypoint_clicked.

Я также добавил сигнал зависания QScatterSeries, который отлично работает.

connect(myScatterSeries, SIGNAL(hovered(QPointF,bool)), this, SLOT(mypoint_hovered(QPointF,bool)));
connect(myScatterSeries, SIGNAL(clicked(QPointF)), this, SLOT(mypoint_clicked(QPointF)));

1 ответ

Просто гадать здесь.

mousePressEvent() это не слот, а обработчик событий. я думаю что QChartView::mousePressEvent() в некоторой степени отвечает за обработку событий нажатия мыши на графике и отправку их в серии.

Если вы переопределены ChartView::mousePressEvent() без явного вызова QChartView::mousePressEvent() чтобы переслать событие, вы можете помешать нормальной обработке события отправить событие в серию. И поэтому QScatterSeries::clicked() никогда не излучается.

Другие вопросы по тегам