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

相关的非成员

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

[cpp]  view plain  copy

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

Qt5类之QLine and QLineF相关推荐

  1. python PyQt5 QtCore.QPointF类、QPointF类与QPoint类区别

    文章目录 官方文档 QPointF类与QPoint类区别 官方文档 https://doc.qt.io/qtforpython/PySide2/QtCore/QPointF.html?highligh ...

  2. qt开发教程视频c++入门自学qt5.5课程linux gui程序实战案例opia

    -//A25 QT教程/ ├──Qt 5开发教程 | ├──Qt初级教程 | | ├──第10课&基于Widget的GUI编程 – 其他控件 | | ├──第11课&基于Widget的 ...

  3. QGraphicsView图形视图框架使用(六)图元动画

    文章目录 创建基本元素 使用定时器 使用动画框架 调用advance()方法 之前的图形框架应用中用到的图元都是静态的,在实际开发过程中纯静态的图元肯定是不够用的,特别是在一些2D游戏类的应用中,很多 ...

  4. Qt知识回顾(十)——图形视图、动画和状态机框架

      Qt提供了图形视图框架(Graphics View Framework).动画框架(The Animation Framework)和状态机框架(The State Machine Framewo ...

  5. 自己搜集编写的Delphi 通用函数

    { ********************************************************************** } { Currency Common Functio ...

  6. QT5——模版库、工具类及控件

    文章目录 qt模版库 字符串类 操作字符串 查询字符串数据 字符串的转换 容器类 QList类.QLinkedList类和QVector类 QList类 QLinkedList类 QVector类 J ...

  7. Linux下的qt5.7Qftp类,[翻译] Qt QFtp功能无法被Qt 5 Network系列模块替代的说明

    Qt4下Qt提供了QFtp类以完成FTP相关的操作,但是Qt5不再提供QFtp类了,取而代之的是QNetworkAccessManager,QNetworkRequest和QNetworkReply等 ...

  8. 【Qt5.8】Qt5.8中串口类QSerialPort

    00. 目录 00. 目录 01. 串口通信基础 02. QtSerialPort模块简介 03. QSerialPort简介 04. QSerialPort类成员函数 05. 参考示例(简单的串口示 ...

  9. Qt5.9一个简单的多线程实例(类QThread)(第一种方法)

    Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...

最新文章

  1. java中Array和ArrayList区别
  2. oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本
  3. 你真的了解JavaScript的比较运算符(==,!=,===,!===,=,=,,)吗?
  4. HDU - 6183 暴力,线段树动态开点,cdq分治
  5. 从一个帖子看部分大学生的学习心态
  6. SAP UI5 如何通过 manifest.json 文件定义第三方库依赖关系
  7. ubuntu下安装mysql 杂记
  8. 利用css transition属性实现一个带动画显隐的微信小程序部件
  9. android 6.0 adb,安卓6.0,adb停用系统更新
  10. 【C语言期末实训】学生学籍管理系统
  11. activiti包含网关
  12. 关于在linux系统下卸载软件的问题
  13. 不看后悔!新手小白必看的保姆级教程!一篇文章学会数据仓库!
  14. GetDC是什么意思 GetWindowDC(hWnd)
  15. 有赞线上拨测系统实践(一)
  16. sap服务器迁移性能问题,专家详解SAP数据迁移的六个方法
  17. 坑一:canal 的一处TODO 引发的一地华子
  18. “影响力之父”西奥迪尼:人类就像录音机,按一下就播放
  19. 【参考】bike+需求影响
  20. VSCode全套配置C++环境流程(完全卸载+C盘插件搬家+json配置文件+闪退问题+中文乱码问题)

热门文章

  1. codeforces 906C
  2. 改动Xmodem/Zmodem上传下载路径
  3. 使用CocoaPods被卡住:Updating local specs repositories
  4. Notepad++ 配置java编译环境
  5. Linux实时监控日志文件的swatchdog
  6. Zabbix---1 监控主机磁盘空间
  7. AIX 关键系统文件被清空问题定位过程全记录
  8. CentOS 7.4系统安装配置图解教程
  9. 利用css和js实现页面的标签效果。(标签个数可以动态变化)
  10. 使用CSS在文字前面加上图标。