Qt第三方库QCustomPlot——QCustomPlot解读


QCustomPlot(2) 

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

下面阅读它的函数:

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


[cpp] view plain copy

  1.     QCustomPlot (QWidget *parent=0)  

  2.   

  3. void    setViewport (const QRect &rect)//视口设置,通常就是本部件所在的长宽  

  4. void    setBackground (const QPixmap &pm)//在整个视口的最底层绘制图片,用作背景  

  5. void    setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)  

  6. void    setBackground (const QBrush &brush)  

  7. void    setBackgroundScaled (bool scaled)//设置setBackground 所绘的图是否进行缩放以适应Viewport  

  8. void    setBackgroundScaledMode (Qt::AspectRatioMode mode)//有Qt::IgnoreAspectRatio(忽略比例,缩放至适应视口),Qt::KeepAspectRatio(保持长宽比,直到一边最大至视口边缘)Qt::KeepAspectRatioByExpanding(保持长宽比,缩放至充满视口)  

  9. void    setAntialiasedElements (const QCP::AntialiasedElements &antialiasedElements)//抗锯齿效果,对于各对象,都有默认设置,可通过本函数,改变默认不抗锯齿的元素,使它也抗。  

  10. void    setAntialiasedElement (QCP::AntialiasedElement antialiasedElement, bool enabled=true)//更方便的开关  

  11. void    setNotAntialiasedElements (const QCP::AntialiasedElements AntialiasedElements)//设置不抗  

  12. void    setNotAntialiasedElement (QCP::AntialiasedElement notAntialiasedElement, bool enabled=true)  

  13. void    setAutoAddPlottableToLegend (bool on)//是否自动添加图形到图例,默认是  

  14. void    setInteraction (const QCP::Interaction &interaction, bool enabled=true)//设置交互方式,如是否可拖动或缩放轴,是否可选中轴或图例等。  

  15. void    setInteractions (const QCP::Interactions &interactions)  

  16. void    setSelectionTolerance (int pixels)//选择公差设置,在多少像素中能选中某个元素  

  17. void    setNoAntialiasingOnDrag (bool enabled)//拖动时是否也抗锯齿  

  18. void    setPlottingHint (QCP::PlottingHint hint, bool enabled=true)//设置其它参数,如快速绘制线(损失质量),缓存轴的lable(提高效率)  

  19. void    setPlottingHints (const QCP::PlottingHints &hints)  

  20. void    setMultiSelectModifier (Qt::KeyboardModifier modifier)//要多选时的按键,默认Qt::ControlModifier,即ctrl  

  21.   

  22. QRect   viewport () const//与上述大致对应  

  23. QPixmap     background () const  

  24. bool    backgroundScaled () const  

  25. Qt::AspectRatioMode     backgroundScaledMode () const  

  26. QCPLayoutGrid *     plotLayout () const  

  27. QCP::AntialiasedElements    antialiasedElements () const  

  28. QCP::AntialiasedElements    notAntialiasedElements () const  

  29. bool    autoAddPlottableToLegend () const  

  30. const QCP::Interactions     interactions () const  

  31. int     selectionTolerance () const  

  32. bool    noAntialiasingOnDrag () const  

  33. QCP::PlottingHints  plottingHints () const  

  34. Qt::KeyboardModifier    multiSelectModifier () const  

  35.   

  36.   

  37. QCPAbstractPlottable *  plottable (int index)//所有添加的图线都自动加了索引,按先后顺序  

  38. QCPAbstractPlottable *  plottable ()  

  39. bool    addPlottable (QCPAbstractPlottable *plottable)//添加除graph线外的其它种类型的曲线或图  

  40. bool    removePlottable (QCPAbstractPlottable *plottable)  

  41. bool    removePlottable (int index)  

  42. int     clearPlottables ()  

  43. int     plottableCount () const  

  44. QList< QCPAbstractPlottable * >   selectedPlottables () const//返回选中的线  

  45. QCPAbstractPlottable *  plottableAt (const QPointF &pos, bool onlySelectable=falseconst//返回某个点是否有图线  

  46. bool    hasPlottable (QCPAbstractPlottable *plottable) const  

  47.   

  48. QCPGraph *  addGraph (QCPAxis *keyAxis=0, QCPAxis *valueAxis=0)//为Graph线留的特殊接口,因Graph是最常用的  

  49. bool    removeGraph (QCPGraph *graph)  

  50. bool    removeGraph (int index)  

  51. QCPGraph *  graph (int index) const  

  52. QCPGraph *  graph () const  

  53. int     clearGraphs ()  

  54. int     graphCount () const  

  55. QList< QCPGraph * >   selectedGraphs () const  

  56.   

  57.   

  58. bool    addItem (QCPAbstractItem *item)//添加一些附加item,如箭头等  

  59. bool    removeItem (QCPAbstractItem *item)  

  60. bool    removeItem (int index)  

  61. int     clearItems ()  

  62. int     itemCount () const  

  63. QCPAbstractItem *   item (int index) const  

  64. QCPAbstractItem *   item () const  

  65. QList< QCPAbstractItem * >    selectedItems () const  

  66. QCPAbstractItem *   itemAt (const QPointF &pos, bool onlySelectable=falseconst  

  67. bool    hasItem (QCPAbstractItem *item) const  

  68. QCPLayoutElement *  layoutElementAt (const QPointF &pos) const  

  69.   

  70. QCPLayer *  layer (const QString &name) const//QCustomPlot分层的实现与管理  

  71. QCPLayer *  layer (int index) const  

  72. QCPLayer *  currentLayer () const  

  73. bool    setCurrentLayer (const QString &name)  

  74. bool    setCurrentLayer (QCPLayer *layer)  

  75. int     layerCount () const  

  76. bool    addLayer (const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove)  

  77. bool    removeLayer (QCPLayer *layer)  

  78. bool    moveLayer (QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove)  

  79.   

  80. QCPAxisRect *   axisRect (int index=0) const  

  81. QList< QCPAxisRect * >    axisRects () const  

  82. QList< QCPAxis * >    selectedAxes () const  

  83. QList< QCPLegend * >  selectedLegends () const  

  84. int     axisRectCount () const  

  85.   

  86. bool    savePdf (const QString &fileName, bool noCosmeticPen=falseint width=0, int height=0, const QString &pdfCreator=""const QString &pdfTitle="")//将图表导出成各种格式  

  87. bool    savePng (const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1)  

  88. bool    saveJpg (const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1)  

  89. bool    saveBmp (const QString &fileName, int width=0, int height=0, double scale=1.0)  

  90. bool    saveRastered (const QString &fileName, int width, int height, double scale, const char *format, int quality=-1)  

  91. QPixmap     toPixmap (int width=0, int height=0, double scale=1.0)  

  92. void    toPainter (QCPPainter *painter, int width=0, int height=0)  

  93.   

  94. //三个槽  

  95. Q_SLOT void     replot (QCustomPlot::RefreshPriority refreshPriority=QCustomPlot::rpHint)//重新生成图表  

  96. Q_SLOT void     rescaleAxes (bool onlyVisiblePlottables=false)  

  97. Q_SLOT void     deselectAll ()//取消选择