QCPLayer是一个容器。分层容器,容器里面包含了很多的需要被描绘出来的对象。
这些对象都继承了QCPLayerable,他是所有可以画出来的物体的基类。需要实现draw函数。每个物体都放到Layer里面才可以显示
QCPLayer并不管理这些QCPLayerable的所有权。他只是一个容器。在Draw的时候根据layer的先后顺序和layer里面的Item的先后顺序描绘。
QCustomPlot init的时候创建了几个层。比如axies main background等。background就是最后的层。所以先画出来。。通过moveLayer可以修改先后顺序。改变描绘的顺序。
如果一个QCPLayerable的属于的QCPLayer为0 ,那么这个物体不会被显示。
QCPAbstractPlottable代表的是包含数据的物体的抽象类。比如Graph Bars柱状图 QCPCurve等
QCPAbstractItem代表的是所有的物体 比如曲线。直线 弧形。文本 等等
QCPLayoutElement代表的是所有布局的物体。比如 图例 坐标轴矩形。标题title等等