Qt第三方库QCustomPlot——QCustomPlot解读

这个小部件类,对于QCustomPlot的所有方面都有所体现

下面阅读它的函数:

函数组织顺序为: 基本设置---添加图线---删除图线---添加额外Item---层次管理---坐标轴管理----导出图表

 	QCustomPlot (QWidget *parent=0)

void 	setViewport (const QRect &rect)//视口设置,通常就是本部件所在的长宽
void 	setBackground (const QPixmap &pm)//在整个视口的最底层绘制图片,用作背景
void 	setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
void 	setBackground (const QBrush &brush)
void 	setBackgroundScaled (bool scaled)//设置setBackground 所绘的图是否进行缩放以适应Viewport
void 	setBackgroundScaledMode (Qt::AspectRatioMode mode)//有Qt::IgnoreAspectRatio(忽略比例,缩放至适应视口),Qt::KeepAspectRatio(保持长宽比,直到一边最大至视口边缘)Qt::KeepAspectRatioByExpanding(保持长宽比,缩放至充满视口)
void 	setAntialiasedElements (const QCP::AntialiasedElements &antialiasedElements)//抗锯齿效果,对于各对象,都有默认设置,可通过本函数,改变默认不抗锯齿的元素,使它也抗。
void 	setAntialiasedElement (QCP::AntialiasedElement antialiasedElement, bool enabled=true)//更方便的开关
void 	setNotAntialiasedElements (const QCP::AntialiasedElements ¬AntialiasedElements)//设置不抗
void 	setNotAntialiasedElement (QCP::AntialiasedElement notAntialiasedElement, bool enabled=true)
void 	setAutoAddPlottableToLegend (bool on)//是否自动添加图形到图例,默认是
void 	setInteraction (const QCP::Interaction &interaction, bool enabled=true)//设置交互方式,如是否可拖动或缩放轴,是否可选中轴或图例等。
void 	setInteractions (const QCP::Interactions &interactions)
void 	setSelectionTolerance (int pixels)//选择公差设置,在多少像素中能选中某个元素
void 	setNoAntialiasingOnDrag (bool enabled)//拖动时是否也抗锯齿
void 	setPlottingHint (QCP::PlottingHint hint, bool enabled=true)//设置其它参数,如快速绘制线(损失质量),缓存轴的lable(提高效率)
void 	setPlottingHints (const QCP::PlottingHints &hints)
void 	setMultiSelectModifier (Qt::KeyboardModifier modifier)//要多选时的按键,默认Qt::ControlModifier,即ctrl

QRect 	viewport () const//与上述大致对应
QPixmap 	background () const
bool 	backgroundScaled () const
Qt::AspectRatioMode 	backgroundScaledMode () const
QCPLayoutGrid * 	plotLayout () const
QCP::AntialiasedElements 	antialiasedElements () const
QCP::AntialiasedElements 	notAntialiasedElements () const
bool 	autoAddPlottableToLegend () const
const QCP::Interactions 	interactions () const
int 	selectionTolerance () const
bool 	noAntialiasingOnDrag () const
QCP::PlottingHints 	plottingHints () const
Qt::KeyboardModifier 	multiSelectModifier () const


QCPAbstractPlottable * 	plottable (int index)//所有添加的图线都自动加了索引,按先后顺序
QCPAbstractPlottable * 	plottable ()
bool 	addPlottable (QCPAbstractPlottable *plottable)//添加除graph线外的其它种类型的曲线或图
bool 	removePlottable (QCPAbstractPlottable *plottable)
bool 	removePlottable (int index)
int 	clearPlottables ()
int 	plottableCount () const
QList< QCPAbstractPlottable * > 	selectedPlottables () const//返回选中的线
QCPAbstractPlottable * 	plottableAt (const QPointF &pos, bool onlySelectable=false) const//返回某个点是否有图线
bool 	hasPlottable (QCPAbstractPlottable *plottable) const

QCPGraph * 	addGraph (QCPAxis *keyAxis=0, QCPAxis *valueAxis=0)//为Graph线留的特殊接口,因Graph是最常用的
bool 	removeGraph (QCPGraph *graph)
bool 	removeGraph (int index)
QCPGraph * 	graph (int index) const
QCPGraph * 	graph () const
int 	clearGraphs ()
int 	graphCount () const
QList< QCPGraph * > 	selectedGraphs () const


bool 	addItem (QCPAbstractItem *item)//添加一些附加item,如箭头等
bool 	removeItem (QCPAbstractItem *item)
bool 	removeItem (int index)
int 	clearItems ()
int 	itemCount () const
QCPAbstractItem * 	item (int index) const
QCPAbstractItem * 	item () const
QList< QCPAbstractItem * > 	selectedItems () const
QCPAbstractItem * 	itemAt (const QPointF &pos, bool onlySelectable=false) const
bool 	hasItem (QCPAbstractItem *item) const
QCPLayoutElement * 	layoutElementAt (const QPointF &pos) const

QCPLayer * 	layer (const QString &name) const//QCustomPlot分层的实现与管理
QCPLayer * 	layer (int index) const
QCPLayer * 	currentLayer () const
bool 	setCurrentLayer (const QString &name)
bool 	setCurrentLayer (QCPLayer *layer)
int 	layerCount () const
bool 	addLayer (const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove)
bool 	removeLayer (QCPLayer *layer)
bool 	moveLayer (QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove)

QCPAxisRect * 	axisRect (int index=0) const
QList< QCPAxisRect * > 	axisRects () const
QList< QCPAxis * > 	selectedAxes () const
QList< QCPLegend * > 	selectedLegends () const
int 	axisRectCount () const

bool 	savePdf (const QString &fileName, bool noCosmeticPen=false, int width=0, int height=0, const QString &pdfCreator="", const QString &pdfTitle="")//将图表导出成各种格式
bool 	savePng (const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1)
bool 	saveJpg (const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1)
bool 	saveBmp (const QString &fileName, int width=0, int height=0, double scale=1.0)
bool 	saveRastered (const QString &fileName, int width, int height, double scale, const char *format, int quality=-1)
QPixmap 	toPixmap (int width=0, int height=0, double scale=1.0)
void 	toPainter (QCPPainter *painter, int width=0, int height=0)

//三个槽
Q_SLOT void 	replot (QCustomPlot::RefreshPriority refreshPriority=QCustomPlot::rpHint)//重新生成图表
Q_SLOT void 	rescaleAxes (bool onlyVisiblePlottables=false)
Q_SLOT void 	deselectAll ()//取消选择


  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值