QCPAbstractItem Class Reference

这个类是在图表中所有的对象的基类

详细描述

这个抽象基类是所有的在图表中的基类
在QCustomPlot中,单元们都是一个一个的追加的图形单元,不管是标签还是坐标轴,而绘图仪总是与两个轴相连,因此只能绘制坐标图,元素可以放置在绝对坐标系的任何坐标上,每一个指定的坐标都至少有一个QCPItemPositon成员对象,可以用来控制位置,一些对象有多个坐标位置,因此可能有很多的坐标成员,比如(QCPItemRect有一个左上角和右下角的位置)
这个抽象的基类定义了很多基本的比如是否可见,是否可裁剪等的接口,一旦这个类是抽象的,他是不能被实例化的,使用它的子类来实例化或者自己创建定制的子类
内置的元素如下

  • QCPLitemLine: 有一个起始点和一个结束点定义的线段,通常在开始和结束有不同端点表现
  • QCPItemStraightLine: 由一个开始点和一个结束点定义的直线,是无限延长没有端点的
  • QCPItemCurve: 由一个开始点和结束点,还有两个控制点构成的线段,很多线段的端点都有不同的表现
  • QCPItemRect: 一个矩形
  • QCPItemEllipse: 一个椭圆形
  • QCPItemPixmap: 一个任意的像素图
  • QCPItemText: 一个字符串标签
  • QCPItemBracket: 一个可以突出重点的括号
  • 一个可以附加到QCPGraph上并粘着它的数据点的项,给定一个键坐标。

裁剪

元素可以默认被裁剪成主要的坐标轴矩形,使里面或外面有效等
先不翻译了,暂时还用不到,先知道有这么一个东西,详细看

使用方法

首先先构造一个像附加在图表中的元素

 QCPItemLine *line = new QCPItemLine(customPlot);

默认情况下,这个元素的位置是由x轴和y轴绑定的,所以我们看设置图表的坐标,比如线段的开始和结束

  line->start->setCoords(-0.1, 0.8);
  line->end->setCoords(1.1, 0.2);

如果我们不想这根线位于图表的坐标中,而是在一个不同的坐标宏,比如在QCustomPlot的绝对坐标系中,我们需要向下面的代码一样改变位置

  line->start->setType(QCPItemPosition::ptAbsolute);
  line->end->setType(QCPItemPosition::ptAbsolute);

然后我们可以设置坐标系

  line->start->setCoords(100, 200);
  line->end->setCoords(450, 320);

最后在整个图表中使能这个线

  line->setClipToAxisRect(false);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值