0

我有一个 QChartView 的自定义实现,我可以在其中进行缩放。(本示例中的“ ChartView ”类)在那里我有一个mousePressEvent

现在我想添加一个 QScatterSeries 并将clicked信号与自定义插槽连接。不幸的是,只要我单击我的 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)));
4

1 回答 1

1

这里只是猜测。

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

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

于 2017-10-31T12:15:22.990 回答