1. 程式人生 > >QCustomPlot使用手冊(三)

QCustomPlot使用手冊(三)

一、改變範圍

QCustomPlot *customplot;
customplot->setInteraction(QCP::iRangeDrag,true);

使控制元件能夠拖拉。

customplot->axisRect()->setRangeDrag(Qt::Vertical);// Qt::Horizontal

使控制元件只能在某一方向上拖拉,預設是水平和垂直都支援。

customplot->setInteraction(QCP::iRangeZoom,true);

使控制元件能夠伸縮。

customplot->axisRect()
->
setRangeZoomAxes(QCPAxis * horizontal, QCPAxis * vertical);

設定伸縮的座標軸。

customplot->axisRect()->setRangeZoom();

設定伸縮的方向。預設水平和垂直都可以。

customplot->axisRect()->setRangeZoomFactor();

設定伸縮比例,可設定成一樣的,也可分別對水平和垂直進行設定。

二、選擇圖元

customplot->setInteraction(QCP::iSelectPlottables,true
);

將圖元設定成可選擇的。
setInteraction
在setInteraction函式中可開啟的有上圖這些。

customplot->graph()->setSelected(bool);

可通過setSelected設定圖元能否被選中。

customplot->deselectAll();

取消所有選中。
被選中的圖元的屬性可通過以下設定:

QCPGraph::setSelectedPen, 
QCPGraph::setSelectedBrush, QCPAxis::setSelectedLabelFont, QCPAxis::setSelectedBasePen, QCPItemText::set
SelectedColor

QCPAxis 由刻度、數值、標籤組成,每部分都可以單獨選中,因此通過:

customplot->xAxis->setSelectableParts();

引數可以是

 QCPAxis::spNone, QCPAxis::spAxis, QCPAxis::spTickLabels, and QCPAxis::spAxisLabel

的並集。

QCustomPlot 支援低階的響應訊號,如:

QCustomPlot::mouseDoubleClick, mousePress, mouseMove, mouseRelease, and mouseWheel

以及高階的,如:

QCustomPlot::plottableClick, plottableDoubleClick, itemClick, itemDoubleClick, axisClick, axisDoubleClick, legendClick, legendDoubleClick, titleClick, and titleDoubleClick