ChartDirector 6.0 (C++ Edition)

QChartViewer.mouseMoveChart


Declaration

void mouseMoveChart(QMouseEvent *event);

Description

This signal will be emitted when the mouse moves over the QChartViewer widget. Unlike the mouseMove signal, QChartViewer may delay a mouseMoveChart signal and combine multiple signals into one signal to improve GUI responsiveness.

When a mouse moves over a widget, mouse move signals can be emitted very rapidly. If the time required to process a mouse move signal exceeds the time between mouse move signals (which is possible if a chart is updated during mouse move), then after processing one mouse move signal, there is already another mouse move signal pending. In many operating systems, mouse signals have priority over other signals. This means the system would need to continuously process mouse move signals but not other signals. As a result, the display may not get updated and the GUI would appear not responsive.

To address the above issue, when QChartViewer detected that there is another mouseMoveChart signal pending immediately after processing one mouseMoveChart signal, it will delay processing it to allow other signals to get processed. This ensures the GUI remain smooth and responsive.

When handling this event, CChartViewer.getChartMouseX, CChartViewer.getChartMouseY, CChartViewer.getPlotAreaMouseX and CChartViewer.getChartMouseY can be used to obtain the mouse cursor position in the chart pixel coordinate system.