我有一个自定义的QChartView实现,我可以在其中缩放。(本例中的类"图表视图")在那里我有一个鼠标新闻事件。
现在我想添加一个QScatter系列,并将点击的信号与自定义插槽连接。不幸的是,一旦我点击我的QScatterSeries,只有一个信号被发送到我的ChartView鼠标PressEvent插槽,而不是我的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)));
只是在这里猜测。
mousePressEvent()
不是槽,而是事件处理程序。我猜QChartView::mousePressEvent()
在某种程度上负责处理图表上的鼠标按下事件并将它们调度到系列中。
如果在未显式调用 QChartView::mousePressEvent()
来转发事件的情况下重新实现ChartView::mousePressEvent()
,则可能会阻止正常事件处理将事件调度到系列。因此,QScatterSeries::clicked()
永远不会发出。