ChartDirector 5.1 (C++ Edition)

QChartViewer


QChartViewer is a QT widget that inherits from QLabel and from ViewPortManager. It is used in QT applications for displaying charts images and to handle mouse interactions.

QChartViewer is released in source code format in the QT sample programs that comes with ChartDirector. The source code serves as an example on how one can display charts and handle mouse interactions in general GUI framework.

Methods
MethodInheritedDescription
setChart(Self)Sets a BaseChart object for display.
getChart(Self)Gets the BaseChart pointer provided by the previous QChartViewer.setChart method call.
setImageMap(Self)Sets the image map that defines the hot spots on the chart image.
getImageMapHandler(Self)Gets the ImageMapHandler object for the current image map.
setDefaultToolTip(Self)Sets the default tool tip to use when the mouse is over the QChartViewer but not over any hot spot.
getChartMouseX(Self)Gets the mouse cursor x-coordinate in the chart pixel coordinate system.
getChartMouseY(Self)Gets the mouse cursor y-coordinate in the chart pixel coordinate system.
getPlotAreaMouseX(Self)Gets the mouse cursor x-coordinate on the plot area in the chart pixel coordinate system.
getPlotAreaMouseY(Self)Gets the mouse cursor y-coordinate on the plot area in the chart pixel coordinate system.
setPlotAreaMouseMargin(Self)Sets all margins (left, right, top, and bottom) of the plot area mouse event region to the same value.
setPlotAreaMouseMargin2(Self)Sets the margins of the plot area mouse event region.
removeDynamicLayer(Self)Calls BaseChart.removeDynamicLayer when the specified event occurs.
updateDisplay(Self)Updates the display.
setMouseUsage(Self)Sets the mouse usage mode.
getMouseUsage(Self)Gets the mouse usage mode.
setZoomDirection(Self)Sets the zoom direction for mouse zoom in/out actions.
getZoomDirection(Self)Gets the zoom direction for mouse zoom in/out actions.
setScrollDirection(Self)Sets the scroll direction for mouse scroll actions.
getScrollDirection(Self)Gets the scroll direction for mouse scroll actions.
setZoomInRatio(Self)Sets the magnification ratio for each zoom in click of the mouse.
getZoomInRatio(Self)Gets the magnification ratio for each zoom in click of the mouse.
setZoomOutRatio(Self)Sets the magnification ratio for each zoom out click of the mouse.
getZoomOutRatio(Self)Gets the magnification ratio for each zoom out click of the mouse.
setSelectionBorderWidth(Self)Sets the border width of the zoom selection box.
getSelectionBorderWidth(Self)Gets the border width of the zoom selection box.
setSelectionBorderColor(Self)Sets the border color of the zoom selection box as a QColor value.
getSelectionBorderColor(Self)Gets the border color of the zoom selection box.
setMinimumDrag(Self)Sets the minimum mouse drag distance before it is considered as an intentional drag.
getMinimumDrag(Self)Gets the minimum mouse drag distance before it is considered as an intentional drag.
setUpdateInterval(Self)Sets the minimum gap interval between two viewPortChanged signals in milliseconds.
getUpdateInterval(Self)Gets the minimum gap interval between two viewPortChanged signals in milliseconds.
updateViewPort(Self)Triggers the viewPortChanged signal.
needUpdateChart(Self)Determines if the current viewPortChanged signal requires chart update.
needUpdateImageMap(Self)Determines if the current viewPortChanged signal requires image map update.
isMouseOnPlotArea(Self)Checks if the mouse cursor is on the extended plot area.
isInMouseMoveEvent(Self)Checks if the current code is executing in a MouseMoveChart or MouseMovePlotArea event.
setChartMetricsViewPortManagerSets the chart metrics to the ViewPortManager so it knows the positions of the necessary chart objects for supporting view ports.
getPlotAreaLeftViewPortManagerGets the x-coordinate of the left side of the plot area in pixels.
getPlotAreaTopViewPortManagerGets the y-coordinate of the top side of the plot area in pixels.
getPlotAreaWidthViewPortManagerGets the width of the plot area in pixels.
getPlotAreaHeightViewPortManagerGets the height of the plot area in pixels.
inPlotAreaViewPortManagerDetermines if a given point is within the plot area.
setViewPortLeftViewPortManagerSets the position of the left side of the view port.
getViewPortLeftViewPortManagerGets the position of the left side of the view port.
setViewPortTopViewPortManagerSets the position of the top side of the view port.
getViewPortTopViewPortManagerGets the position of the top side of the view port.
setViewPortWidthViewPortManagerSets the width of the view port.
getViewPortWidthViewPortManagerGets the width of the view port.
setViewPortHeightViewPortManagerSets the height of the view port.
getViewPortHeightViewPortManagerGets the height of the view port.
validateViewPortViewPortManagerEnsures the view port left, top, width and height are within valid ranges and adjusts them if necessary.
setZoomInWidthLimitViewPortManagerSets the view port width at maximum zoom in.
getZoomInWidthLimitViewPortManagerGets the view port width at maximum zoom in for mouse zoom in actions.
setZoomOutWidthLimitViewPortManagerSets the view port width at maximum zoom out.
getZoomOutWidthLimitViewPortManagerGets the view port width at maximum zoom out for mouse zoom out actions.
setZoomInHeightLimitViewPortManagerSets the view port height at maximum zoom in.
getZoomInHeightLimitViewPortManagerGets the view port height at maximum zoom in for mouse zoom in actions.
setZoomOutHeightLimitViewPortManagerSets the view port height at maximum zoom out.
getZoomOutHeightLimitViewPortManagerGets the view port height at maximum zoom out for mouse zoom out actions.
canZoomInViewPortManagerChecks if it is possible to zoom in further at a certain direction without violating zoom in limits.
canZoomOutViewPortManagerChecks if it is possible to zoom out further at a certain direction without violating zoom out limits.
zoomAtViewPortManagerZooms in/out around a certain point.
zoomToViewPortManagerZooms to the selected rectangular region.
startDragViewPortManagerTakes a snapshot of the view port to prepare for dragging. This method must be called before calling ViewPortManager.dragTo.
dragToViewPortManagerScrolls the view port to reflect dragging of the underlying rectangular surface.
setFullRangeViewPortManagerDefines the full range of a view port data scale.
getValueAtViewPortViewPortManagerConverts a view port coordinate to a value of the specified data scale.
getViewPortAtValueViewPortManagerConverts a value of the specified data scale to a view port coordinate.
syncLinearAxisWithViewPortViewPortManagerSynchronizes a linear Axis with the part of the data scale in view port.
syncLogAxisWithViewPortViewPortManagerSynchronizes a logarithmic Axis with the part of the data scale in view port.
syncDateAxisWithViewPortViewPortManagerSynchronizes a date/time Axis with the part of the data scale in view port.
Note: Methods inherited from QLabel are omitted.

Signals
MethodInheritedDescription
clicked(Self)This signal will be emitted when the mouse clicks on the QChartViewer widget.
mouseMove(Self)This signal will be emitted when the mouse moves over the QChartViewer widget.
mouseWheel(Self)This signal will be emitted when the mouse is over the QChartViewer widget and the mouse wheel is rotated.
mouseMoveChart(Self)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.
mouseLeaveChart(Self)This signal will be emitted when the mouse leaves the QChartViewer widget.
mouseMovePlotArea(Self)This signal will be emitted when the mouse moves over the extended plot area.
mouseLeavePlotArea(Self)This signal will be emitted when the mouse leaves the extended plot area.
viewPortChanged(Self)This signal will be emitted when the view port is changed through mouse actions, or when QChartViewer.updateViewPort is called.
Note: Signals inherited from QLabel are omitted.