一个延伸到无限长度的直线
文章目录
详细描述
一条无限长的直线
一个直线的例子,蓝色的圆点是锚点,蓝色的圆点是位置
构造函数和析构函数描述
QCPItem StraightLine::QCPItemStraightLine (QCustomPlot * parentPlot) excplicit
这是一个显示构造函数
创造一个直线,并且设置默认的值
创造的对象是自动的注册到父类图表的,这个QCustomPlot的实例拥有此直线,但是不要使用delete来删除它,使用QCustomPlot::removeItem()
成员函数
void QCPItemStraightLine::setPen(const QPen & pen)
设置用来绘制这个直线的QPen
void QCPItemStraightLine::setSelectedPen(const QPen & pen)
设置将用于在选中时绘制线条的Qpen
double QCPItemStrightLine::selectTest(const QPointF & pos, bool onlySelectable, QVariant * details=0) const virtual
此函数用于确定单击是否触及可分层对象。
pos是QCustomPlot 表面的像素点,这个函数返回这个点距离对象的最小的距离,如果这个对象是无效的,或者这个实例没有被实例化,这个函数将返回-1,还有就是,如果仅仅 设置了允许选择,但是实际上还没有选择,则返回-1
如果这个对象是不是一个简单的线条,而是类似QCPItemText或者QCPBars等,点击这个区域的内部区域将视一个触及,在这种情况下,这个函数返回一个恒定不变的值,这个值是大于0的,但是依然在父图表的选择容忍度里面(无限接近选择容忍度)
…
QCPItemStraightLine::draw(QCPPainter* painter) protected virtual
使用给定的painter来绘制这个对象