Qt5类之QLine and QLineF

Qt5类之QLine and QLineF

 

QLine


 

#include <QLine>


 

介绍


 

QLine表示平面上整数精度的二维向量,用于描述有限长度的直线也就是线段,起点与终点只具有整数精度。

 



 

线段位置的起点与终点可由p1(),x1(),y1(),p2(),x2(),y2()得到,dx()与dy()返回线段的水平与垂直跨越长度。isNull()说明是否为无效线段。也可以使用translate()进行指定量的平移。


 

成员函数


 

 

[cpp]  view plain  copy  

  1. QLine::QLine()  
  2. QLine::QLine(const QPoint & p1,const QPoint & p2)  
  3. QLine::QLine(int x1, int y1, int x2, int y2)  
  4. //构造函数,构造空的或具有指定起点的线段。  
  5.   
  6.   
  7. QPoint QLine::p1()const  
  8. QPoint QLine::p2()const  
  9. int QLine::x1()const  
  10. int QLine::x2()const  
  11. int QLine::y1()const  
  12. int QLine::y2()const  
  13. int QLine::dx()const  
  14. int QLine::dy()const  
  15. //取得线段的相关位置信息  
  16.   
  17.   
  18. bool QLine::isNull()const  
  19. //如果线段具有无效的起点或终点,返回true  
  20.   
  21.   
  22. void QLine::setP1(const QPoint & p1)  
  23. void QLine::setP2(const QPoint & p2)  
  24. void QLine::setLine(int x1, int y1, int x2, int y2)  
  25. void QLine::setPoints(const QPoint & p1,const QPoint & p2)  
  26. //与之前的对应,设置线段的位置信息  
  27.   
  28.   
  29. void QLine::translate(const QPoint & offset)  
  30. void QLine::translate(int dx, int dy)  
  31. //重载函数,对直线进行指定量的平移  
  32.   
  33.   
  34. QLine QLine::translated(const QPoint & offset)const  
  35. QLine QLine::translated(int dx, int dy)const  
  36. //返回给定相应的偏移量平移得到的线段  
  37.   
  38.   
  39. bool QLine::operator!=(const QLine & line)const  
  40. bool QLine::operator==(const QLine & line)const  
  41. //如果两条线段的起点与终点都相同,判定为两条线段等同,否则为不等同  

 

 


 

相关的非成员

 

[cpp]  view plain  copy  

  1. QDataStream & operator<<(QDataStream & stream,const QLine & line)  
  2. QDataStream & operator>>(QDataStream & stream, QLine & line)  
  3. //重载<<,>>运算符,使得QDataStream数据流用来存取QLine线段  

 


 

QlineF


 

#include <QlineF>


 

介绍


 

QLineF与QLine不同在于提供了浮点精度线段表示,在成员函数方面增加了角度,单位向量等的表示,不过线段的表示法还是一样的,由两个点起点与终点标识。


 

静态公有成员

 

[cpp]  view plain  copy  

  1. QLineF QLineF::fromPolar(qreal length, qreal angle) [static]  
  2. //根据极坐标,返回指定长度与角度的向量,起点任意  

 


 

公有类型

enumQLineF::IntersectType

QlineF::UnboundedIntersection表示两条线段实际不相交,但是其所在直线是相交的

QlineF::BoundedIntersection表示两条线段实际相交,在其所有的长度范围中

QlineF::NoIntersection表明两条线是平行的

 


 

成员函数

 

[cpp]  view plain  copy  

  1. QLineF::QLineF()  
  2. QLineF::QLineF(const QPointF & p1,const QPointF & p2)  
  3. QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)  
  4. //同QLine,重载构造函数构造线段  
  5.   
  6.   
  7. QLineF::QLineF(const QLine & line)  
  8. //构造函数,将指定的整数精度的QLine改变为浮点精度的QLineF对象  
  9.   
  10.   
  11. QPointF QLineF::p1()const  
  12. QPointF QLineF::p2()const  
  13. qreal QLineF::x1()const  
  14. qreal QLineF::x2()const  
  15. qreal QLineF::y1()const  
  16. qreal QLineF::y2()const  
  17. //取得线段相应的位置信息  
  18.   
  19.   
  20. qreal QLineF::angle()const  
  21. //取得线段的角度信息,返回[0,360),0度方向为x轴正向,按逆时针增加  
  22.   
  23.   
  24. qreal QLineF::angleTo(const QLineF & line)const  
  25. //当前线段到指定线段的角度。注意的是线段是有方向的,也就是向量,角度值计算时是起点重合方式来计算,返回[0,360)的正值  
  26.   
  27.   
  28. qreal QLineF::dx()const  
  29. qreal QLineF::dy()const  
  30. //线段的水平与垂直量  
  31.   
  32.   
  33.   
  34.   
  35. IntersectType QLineF::intersect(const QLineF & line, QPointF * intersectionPoint)const  
  36. //当前线段与指定线段的相交情况,返回值为IntersectType,若相交,则intersectionPoint为交点,若平行则intersectionPoint未定义  
  37.   
  38.   
  39. bool QLineF::isNull()const  
  40. //线段是否是无效的  
  41.   
  42.   
  43. qreal QLineF::length()const  
  44. //线段的长度  
  45.   
  46.   
  47. QLineF QLineF::normalVector()const  
  48. //得到相同长度相同起点的与之垂直的线段  

 

 

 

[cpp]  view plain  copy  

  1. QPointF QLineF::pointAt(qreal t)const  
  2. //如果t=0,返回起点,t=1,返回终点  
  3.   
  4.   
  5. void QLineF::setP1(const QPointF & p1)  
  6. void QLineF::setP2(const QPointF & p2)  
  7. //设置更改端点的值  
  8.   
  9.   
  10. void QLineF::setAngle(qreal angle)  
  11. //设置更改角度的值,正数表示逆时针,负数表示顺时针  
  12.   
  13.   
  14. void QLineF::setLength(qreal length)  
  15. //起点不变,更改线段的长度  
  16.   
  17.   
  18. void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)  
  19. void QLineF::setPoints(const QPointF & p1,const QPointF & p2)  
  20. //设置端点值  
  21.   
  22.   
  23. QLine QLineF::toLine()const  
  24. //QLineF变换为QLine对象,四舍五入  
  25.   
  26.   
  27. void QLineF::translate(const QPointF & offset)  
  28. void QLineF::translate(qreal dx, qreal dy)  
  29. QLineF QLineF::translated(const QPointF & offset)const  
  30. QLineF QLineF::translated(qreal dx, qreal dy)const  
  31. //同QLine  
  32.   
  33.   
  34. QLineF QLineF::unitVector()const  
  35. //取得当前向量的单位向量,起点不变  
  36.   
  37.   
  38. bool QLineF::operator!=(const QLineF & line)const  
  39. bool QLineF::operator==(const QLineF & line)const  
  40. //同QLine  

 


 

相关的非成员

 

[cpp]  view plain  copy  

  1. QDataStream & operator<<(QDataStream & stream,const QLineF & line)  
  2. QDataStream & operator>>(QDataStream & stream, QLineF & line)  
  3. //同QLine  

 

 

网址:http://blog.csdn.net/numit/article/details/12041093

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值