QCustomPlot之层和布局(四)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QCustomPlot之层和布局(四)相关的知识,希望对你有一定的参考价值。

参考技术A 在QCustomPlot中,一切可显示的对象都是继承自层元素 QCPLayerable ,层 QCPLayer 则管理着层元素,QCustomPlot利用层决定了不同元素的绘制顺序
层有两种刷新模式:

默认只有 overlay 层启用了 lmBuffered 单独绘制机制,其它层都共享一个绘图缓存,因为 overlay 层主要是用于存放悬浮与图表上的item项,需要频繁的刷新,启用了 lmBuffered 的层会多占用内存

在QCustomPlot中,布局方式只有两种:

我们可以看下继承关系图,可以看到这两种布局都继承自 QCPLayout ,而 QCPLayout 继承自 QCPLayoutElement 布局元素,所以一个布局可以包含另一个布局,布局内的元素都要继承自 QCPLayoutElement

在QCustomPlot里面维护着一个网格布局,默认只有一个QCPAxisRect元素,而QCPAxisRect里则维护这一个内嵌式的布局,用于放置图例QCPLegend

于是我们可以设置图例的位置

我们甚至可以把它放置在QCustomPlot中,而不是在QCPAxisRect中,但是这种做法不太可取,just for fun :)

其实我们还可以将图例放置在QCustomPlot的网格布局中,这样也可以将图例放置在QCustomPlot中,但这种方法写起来比较麻烦,这里就不讲解了

有了布局,我们可以为所欲为,添加标题很简单,仅需 QCPTextElement 类即可,它也是一个布局元素

QCPLegend 继承自 QCPLayoutGrid ,所以我们也很容易为图例添加一个标题

只需将图例布局的填充顺序改为以列的方式(图例默认是以行的方式,所以是竖向的)

以上是关于QCustomPlot之层和布局(四)的主要内容,如果未能解决你的问题,请参考以下文章

QT_QCustomPlot学习

Qwt 替代品

PADS布两层板

QCustomplot使用分享 绘制图表-多功能游标

二叉树的遍历方法之层序-先序-中序-后序遍历的简单讲解和代码示例

Qt Widget使用QCustomPlot库实现二维螺旋曲线(螺旋曲线一)