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
- QLine::QLine()
- QLine::QLine(const QPoint & p1,const QPoint & p2)
- QLine::QLine(int x1, int y1, int x2, int y2)
- //构造函数,构造空的或具有指定起点的线段。
- QPoint QLine::p1()const
- QPoint QLine::p2()const
- int QLine::x1()const
- int QLine::x2()const
- int QLine::y1()const
- int QLine::y2()const
- int QLine::dx()const
- int QLine::dy()const
- //取得线段的相关位置信息
- bool QLine::isNull()const
- //如果线段具有无效的起点或终点,返回true
- void QLine::setP1(const QPoint & p1)
- void QLine::setP2(const QPoint & p2)
- void QLine::setLine(int x1, int y1, int x2, int y2)
- void QLine::setPoints(const QPoint & p1,const QPoint & p2)
- //与之前的对应,设置线段的位置信息
- void QLine::translate(const QPoint & offset)
- void QLine::translate(int dx, int dy)
- //重载函数,对直线进行指定量的平移
- QLine QLine::translated(const QPoint & offset)const
- QLine QLine::translated(int dx, int dy)const
- //返回给定相应的偏移量平移得到的线段
- bool QLine::operator!=(const QLine & line)const
- bool QLine::operator==(const QLine & line)const
- //如果两条线段的起点与终点都相同,判定为两条线段等同,否则为不等同
相关的非成员
[cpp] view plain copy
- QDataStream & operator<<(QDataStream & stream,const QLine & line)
- QDataStream & operator>>(QDataStream & stream, QLine & line)
- //重载<<,>>运算符,使得QDataStream数据流用来存取QLine线段
QlineF
#include <QlineF>
介绍
QLineF与QLine不同在于提供了浮点精度线段表示,在成员函数方面增加了角度,单位向量等的表示,不过线段的表示法还是一样的,由两个点起点与终点标识。
静态公有成员
[cpp] view plain copy
- QLineF QLineF::fromPolar(qreal length, qreal angle) [static]
- //根据极坐标,返回指定长度与角度的向量,起点任意
公有类型
enumQLineF::IntersectType
QlineF::UnboundedIntersection表示两条线段实际不相交,但是其所在直线是相交的
QlineF::BoundedIntersection表示两条线段实际相交,在其所有的长度范围中
QlineF::NoIntersection表明两条线是平行的
成员函数
[cpp] view plain copy
- QLineF::QLineF()
- QLineF::QLineF(const QPointF & p1,const QPointF & p2)
- QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
- //同QLine,重载构造函数构造线段
- QLineF::QLineF(const QLine & line)
- //构造函数,将指定的整数精度的QLine改变为浮点精度的QLineF对象
- QPointF QLineF::p1()const
- QPointF QLineF::p2()const
- qreal QLineF::x1()const
- qreal QLineF::x2()const
- qreal QLineF::y1()const
- qreal QLineF::y2()const
- //取得线段相应的位置信息
- qreal QLineF::angle()const
- //取得线段的角度信息,返回[0,360),0度方向为x轴正向,按逆时针增加
- qreal QLineF::angleTo(const QLineF & line)const
- //当前线段到指定线段的角度。注意的是线段是有方向的,也就是向量,角度值计算时是起点重合方式来计算,返回[0,360)的正值
- qreal QLineF::dx()const
- qreal QLineF::dy()const
- //线段的水平与垂直量
- IntersectType QLineF::intersect(const QLineF & line, QPointF * intersectionPoint)const
- //当前线段与指定线段的相交情况,返回值为IntersectType,若相交,则intersectionPoint为交点,若平行则intersectionPoint未定义
- bool QLineF::isNull()const
- //线段是否是无效的
- qreal QLineF::length()const
- //线段的长度
- QLineF QLineF::normalVector()const
- //得到相同长度相同起点的与之垂直的线段
[cpp] view plain copy
- QPointF QLineF::pointAt(qreal t)const
- //如果t=0,返回起点,t=1,返回终点
- void QLineF::setP1(const QPointF & p1)
- void QLineF::setP2(const QPointF & p2)
- //设置更改端点的值
- void QLineF::setAngle(qreal angle)
- //设置更改角度的值,正数表示逆时针,负数表示顺时针
- void QLineF::setLength(qreal length)
- //起点不变,更改线段的长度
- void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)
- void QLineF::setPoints(const QPointF & p1,const QPointF & p2)
- //设置端点值
- QLine QLineF::toLine()const
- //QLineF变换为QLine对象,四舍五入
- void QLineF::translate(const QPointF & offset)
- void QLineF::translate(qreal dx, qreal dy)
- QLineF QLineF::translated(const QPointF & offset)const
- QLineF QLineF::translated(qreal dx, qreal dy)const
- //同QLine
- QLineF QLineF::unitVector()const
- //取得当前向量的单位向量,起点不变
- bool QLineF::operator!=(const QLineF & line)const
- bool QLineF::operator==(const QLineF & line)const
- //同QLine
相关的非成员
[cpp] view plain copy
- QDataStream & operator<<(QDataStream & stream,const QLineF & line)
- QDataStream & operator>>(QDataStream & stream, QLineF & line)
- //同QLine
网址:http://blog.csdn.net/numit/article/details/12041093
Qt5类之QLine and QLineF相关推荐
- python PyQt5 QtCore.QPointF类、QPointF类与QPoint类区别
文章目录 官方文档 QPointF类与QPoint类区别 官方文档 https://doc.qt.io/qtforpython/PySide2/QtCore/QPointF.html?highligh ...
- qt开发教程视频c++入门自学qt5.5课程linux gui程序实战案例opia
-//A25 QT教程/ ├──Qt 5开发教程 | ├──Qt初级教程 | | ├──第10课&基于Widget的GUI编程 – 其他控件 | | ├──第11课&基于Widget的 ...
- QGraphicsView图形视图框架使用(六)图元动画
文章目录 创建基本元素 使用定时器 使用动画框架 调用advance()方法 之前的图形框架应用中用到的图元都是静态的,在实际开发过程中纯静态的图元肯定是不够用的,特别是在一些2D游戏类的应用中,很多 ...
- Qt知识回顾(十)——图形视图、动画和状态机框架
Qt提供了图形视图框架(Graphics View Framework).动画框架(The Animation Framework)和状态机框架(The State Machine Framewo ...
- 自己搜集编写的Delphi 通用函数
{ ********************************************************************** } { Currency Common Functio ...
- QT5——模版库、工具类及控件
文章目录 qt模版库 字符串类 操作字符串 查询字符串数据 字符串的转换 容器类 QList类.QLinkedList类和QVector类 QList类 QLinkedList类 QVector类 J ...
- Linux下的qt5.7Qftp类,[翻译] Qt QFtp功能无法被Qt 5 Network系列模块替代的说明
Qt4下Qt提供了QFtp类以完成FTP相关的操作,但是Qt5不再提供QFtp类了,取而代之的是QNetworkAccessManager,QNetworkRequest和QNetworkReply等 ...
- 【Qt5.8】Qt5.8中串口类QSerialPort
00. 目录 00. 目录 01. 串口通信基础 02. QtSerialPort模块简介 03. QSerialPort简介 04. QSerialPort类成员函数 05. 参考示例(简单的串口示 ...
- Qt5.9一个简单的多线程实例(类QThread)(第一种方法)
Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...
最新文章
- java中Array和ArrayList区别
- oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本
- 你真的了解JavaScript的比较运算符(==,!=,===,!===,=,=,,)吗?
- HDU - 6183 暴力,线段树动态开点,cdq分治
- 从一个帖子看部分大学生的学习心态
- SAP UI5 如何通过 manifest.json 文件定义第三方库依赖关系
- ubuntu下安装mysql 杂记
- 利用css transition属性实现一个带动画显隐的微信小程序部件
- android 6.0 adb,安卓6.0,adb停用系统更新
- 【C语言期末实训】学生学籍管理系统
- activiti包含网关
- 关于在linux系统下卸载软件的问题
- 不看后悔!新手小白必看的保姆级教程!一篇文章学会数据仓库!
- GetDC是什么意思 GetWindowDC(hWnd)
- 有赞线上拨测系统实践(一)
- sap服务器迁移性能问题,专家详解SAP数据迁移的六个方法
- 坑一:canal 的一处TODO 引发的一地华子
- “影响力之父”西奥迪尼:人类就像录音机,按一下就播放
- 【参考】bike+需求影响
- VSCode全套配置C++环境流程(完全卸载+C盘插件搬家+json配置文件+闪退问题+中文乱码问题)