我有一个QChartView的自定义实现,我可以放大。 (this示例中的“ ChartView ”类) 在那里我有一个 mousePressEvent 。
现在我想添加一个QScatterSeries并将单击的信号与自定义插槽相连接。不幸的是,只要点击我的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)));
答案 0 :(得分:1)
在这里猜测。
mousePressEvent()
不是插槽,而是事件处理程序。我想QChartView::mousePressEvent()
对于处理图表上的鼠标按键事件并将它们分派到系列中负有一定的责任。
如果您重新实现ChartView::mousePressEvent()
而未明确调用QChartView::mousePressEvent()
转发事件,则可能会阻止正常事件处理将事件分派给系列。因此永远不会发出QScatterSeries::clicked()
。