QCandlestickSeries::hovered 没有发出信号
QCandlestickSeries::hovered signal is not being emitted
QObject::connect returns true 并且当我手动发出信号时,断点在插槽中命中,但是当我将鼠标悬停在 QCandlestickSet 上时,信号没有发出。
我从图表中删除了所有其他自定义绘图以确保没有任何东西覆盖烛台,但信号仍然没有触发。
'chartView' 是从 'QChartView'.
派生的 'ChartView' 类型
'series' 属于 'QCandlestickSeries'.
类型
连接:
QObject::connect(this->series, SIGNAL(hovered(bool, QCandlestickSet *)), this->chartView, SLOT(displayCandleValues(bool, QCandlestickSet *)));
插槽:
void ChartView::displayCandleValues(bool status, QCandlestickSet *candle)
{
qint32 x = 0; // A breakpoint is set on this line and is triggered when calling 'emit this->series->hovered(false, Q_NULLPTR);'
}
提前致谢。
编辑:
当我在蜡烛上单击时不发出信号,但当我双击蜡烛时发出信号,并触发断点。
所以我发现了问题。我已经覆盖了 mouseMoveEvent 来绘制我的十字线,但我忘了调用父 class' mouseMoveEvent。
旧定义:
void ChartView::mouseMoveEvent(QMouseEvent *event)
{
this->drawCrosshair(event->pos());
}
新定义:
void ChartView::mouseMoveEvent(QMouseEvent *event)
{
this->drawCrosshair(event->pos());
QChartView::mouseMoveEvent(event);
}
QObject::connect returns true 并且当我手动发出信号时,断点在插槽中命中,但是当我将鼠标悬停在 QCandlestickSet 上时,信号没有发出。
我从图表中删除了所有其他自定义绘图以确保没有任何东西覆盖烛台,但信号仍然没有触发。
'chartView' 是从 'QChartView'.
派生的 'ChartView' 类型'series' 属于 'QCandlestickSeries'.
类型连接:
QObject::connect(this->series, SIGNAL(hovered(bool, QCandlestickSet *)), this->chartView, SLOT(displayCandleValues(bool, QCandlestickSet *)));
插槽:
void ChartView::displayCandleValues(bool status, QCandlestickSet *candle)
{
qint32 x = 0; // A breakpoint is set on this line and is triggered when calling 'emit this->series->hovered(false, Q_NULLPTR);'
}
提前致谢。
编辑:
当我在蜡烛上单击时不发出信号,但当我双击蜡烛时发出信号,并触发断点。
所以我发现了问题。我已经覆盖了 mouseMoveEvent 来绘制我的十字线,但我忘了调用父 class' mouseMoveEvent。
旧定义:
void ChartView::mouseMoveEvent(QMouseEvent *event)
{
this->drawCrosshair(event->pos());
}
新定义:
void ChartView::mouseMoveEvent(QMouseEvent *event)
{
this->drawCrosshair(event->pos());
QChartView::mouseMoveEvent(event);
}