码迷,mamicode.com
首页 > 其他好文 > 详细

QCustomPlot使用手册(四)

时间:2015-06-11 21:20:36      阅读:400      评论:0      收藏:0      [点我收藏+]

标签:qcustomplo   绘图   二维   qt   c++   

一、基本图形元件
1、QCustomPlot提供文字、箭头、连线、图片等图形元件,以满足用户需要。它们都是继承于QCPAbstractItem这个基类。
继承关系如下:
技术分享
看官网上的例子:

// add the text label at the top:
QCPItemText *textLabel = new QCPItemText(customPlot);
customPlot->addItem(textLabel);
textLabel->setPositionAlignment(Qt::AlignTop|Qt::AlignHCenter);
textLabel->position->setType(QCPItemPosition::ptAxisRectRatio);
textLabel->position->setCoords(0.5, 0); // place position at center/top of axis rect
textLabel->setText("Text Item Demo");
textLabel->setFont(QFont(font().family(), 16)); // make font a bit larger
textLabel->setPen(QPen(Qt::black)); // show black border around text

// add the arrow:
QCPItemLine *arrow = new QCPItemLine(customPlot);
customPlot->addItem(arrow);
arrow->start->setParentAnchor(textLabel->bottom);
arrow->end->setCoords(4, 1.6); // point to (4, 1.6) in x-y-plot coordinates
arrow->setHead(QCPLineEnding::esSpikeArrow);

效果:
技术分享
代码比较简单,同时可以看到,但我们拖拉或者缩放图像的时候,箭头会一直固定在(4, 1.6)位置。可以查阅QCPAbstractItem 和QCPItemPosition 获取更多信息。
2、设置元件在整个QCustomPlot可见:

setClipToAxisRect(false);

或者可以设置所在的矩形区域:

void QCPAbstractItem::setClipAxisRect ( QCPAxisRect *  rect);

通常情况下,两个函数是一起使用的。

QCustomPlot使用手册(四)

标签:qcustomplo   绘图   二维   qt   c++   

原文地址:http://blog.csdn.net/llq108/article/details/46461529

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!