qt QScatterSeries 点击信号发送到 ChartView mousePressEvent

qt QScatterSeries clicked signal is emitted to ChartView mousePressEvent

我有一个可以缩放的 QChartView 自定义实现。 (Class“ChartView”来自 this 示例) 在那里我有一个 mousePressEvent

现在我想添加一个 QScatterSeries 并将 clicked 信号与自定义插槽连接起来。不幸的是,一旦我点击我的 QScatterSeries,只有一个信号被发送到我的 ChartView mousePressEvent 插槽,而不是我的 QScatterSeries mypoint_clicked 插槽.

我还添加了一个 QScatterSeries hovered 信号,效果很好。

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

这里只是猜测。

mousePressEvent() 不是插槽,而是事件处理程序。我想 QChartView::mousePressEvent() 在某种程度上负责处理图表上的鼠标按下事件并将它们分派给系列。

如果您重新实现了 ChartView::mousePressEvent() 而没有显式调用 QChartView::mousePressEvent() 来转发事件,您可能会阻止正常的事件处理将事件分派给系列。因此 QScatterSeries::clicked() 永远不会发出。