class QLineF#

使用浮点数精度提供二维向量的QLineF类。 更多

摘要#

方法#

静态函数#

注意

此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建票证来告诉我们

详细说明#

QLineF 用于描述二维表面上有限长度的线(或线段)。QLineF 通过浮点精度坐标定义线的起点和终点。可以使用 toLine() 函数获取该线的基于整数的副本。

qline-point1

qline-coordinates2

可以使用 p1() , x1() , y1() , p2() , x2() , 和 y2() 函数来检索线的起点和终点的位置。函数 dx()dy() 分别返回线的水平和垂直分量。

可以使用 length() 函数来获取线的长度,并使用 setLength() 函数来更改长度。类似地,angle()setAngle() 分别用于检索和更改线的角度。使用 isNull() 函数来确定 QLineF 是否表示一个有效线或空线。

intersects() 函数确定给定线段和我这条线段的IntersectionType,而 angleTo() 函数返回线段之间的角度。此外,unitVector() 函数返回一个与这条线段有相同起点但长度为1的线段,而 normalVector() 函数返回一个与这条线段垂直且起点和长度相同的线段。

最后,可以使用 translate() 函数将线段平移给定的偏移量,并可以使用 pointAt() 函数遍历它。

约束

QLine 受限于 int 类型的最小和最大值。对 QLine 的操作,如果可能得到超出此范围的结果,将导致未定义的行为。

另请参阅

QLineQRectF

class IntersectionType#

描述了两条线段的交点。

qlinef-unbounded1

qlinef-bounded2

QLineF::UnboundedIntersection

QLineF::BoundedIntersection

常量

描述

QLineF.NoIntersection

表示线段不相交;即它们是平行的。

QLineF.UnboundedIntersection

两条线段相交,但不在它们长度的定义范围内。这将在线段不平行的情况下发生。如果交点只位于一条线段的起点和终点之间,intersect() 也会返回此值。

QLineF.BoundedIntersection

两条线段相交,且交点位于每条线段的起点和终点内。

另请参阅

intersects()

__init__(line)#
参数

lineQLine

从给定的基于整数的 line 构造一个 QLineF 对象。

另请参阅

toLine() toLineF()

__init__()

构造一个空线。

__init__(x1, y1, x2, y2)
参数
  • x1 – 浮点数

  • y1 – 浮点数

  • x2 – 浮点数

  • y2 – 浮点数

构造一个代表点(x1, y1)和(x2, y2)之间线的线对象。

__init__(pt1, pt2)
参数

构造一个代表点p1和p2之间线的线对象。

__reduce__()#
返回类型:

对象

__repr__()#
返回类型:

对象

angle()#
返回类型:

浮点数

返回线的角度(以度为单位)。

返回值将在0.0到但不包括360.0的范围内。角度是从原点右侧的x轴上的一个点到原点的逆时针方向测量的(x > 0)。

另请参阅

setAngle()

angleTo(l)#
参数

lQLineF

返回类型:

浮点数

返回从这条线到给定线line的角度(以度为单位),考虑到线的方向。如果线在其范围内不相交,则将延长线的交点作为原点(参见UnboundedIntersection)。

返回的值表示需要将角度添加到这条线,以使其与给定的线具有相同的方向,逆时针旋转。

另请参阅

intersects()

center()#
返回类型:

点浮点

返回该直线的中心点。这等价于 p1() + 0.5 * p2()。 sponsored by Verizon.

dx()#
返回类型:

浮点数

返回直线向量的水平分量。

另请参阅

dy() pointAt()

dy()#
返回类型:

浮点数

返回直线向量的垂直分量。

另请参阅

dx() pointAt()

staticfromPolar(length, angle)#
参数
  • length – float

  • angle – float

返回类型:

QLineF

返回一个具有给定 lengthangleQLineF 对象。

直线的第一个点位于原点。

角度的正值表示逆时针,负值表示顺时针方向。零度为3点方向。

intersects(l)#
参数

lQLineF

返回类型:

(intersectType, intersectionPoint)

返回一个值,表示 线是否与所给的 line 相交。

实际的交点提取到 intersectionPoint(如果指针有效)。如果两条线平行,交点是未定义的。

isNull()#
返回类型:

bool

如果该直线没有不同的起点和终点,则返回 true;否则返回 false。如果 qFuzzyCompare() 可以在至少一个坐标中区分起点和终点,则认为它们是不同的。

注意

由于使用了模糊比较,isNull 可能为那些 length() 不为零的直线返回 true

另请参阅

qFuzzyCompare() length()

length()#
返回类型:

浮点数

返回线的长度。

另请参阅

setLength() isNull()

normalVector()#
返回类型:

QLineF

返回一个与当前线垂直且具有相同起点和长度的线。

../../_images/qlinef-normalvector.png

另请参阅

unitVector()

__ne__(d)#
参数

dQLineF

返回类型:

bool

如果给定的线与当前线不同,返回 true

如果线的起点或终点不同,或者点的内部顺序不同,则一条线与另一条线不同。

__mul__(m)#
参数

mQTransform

返回类型:

QLineF

__eq__(d)#
参数

dQLineF

返回类型:

bool

如果给定的线与当前线相同,返回 true

如果线的起点和终点相同,且点的内部顺序相同,则一条线等于另一条线。

p1()#
返回类型:

点浮点

返回线的起点。

另请参阅

setP1() x1() y1() p2()

p2()#
返回类型:

点浮点

返回线的终点。

另请参阅

setP2() x2() y2() p1()

pointAt(t)#
参数

t – float

返回类型:

点浮点

返回由有限参数 t 指定位置的点。如果 t = 0,则函数返回线的起始点;如果 t = 1,则返回线的终点。

另请参阅

dx() dy()

setAngle(angle)#
参数

angle – float

将线的角度设置为给定的 angle(度)。这会改变线的第二个点的位置,使线具有给定的角度。

角度的正值表示逆时针,负值表示顺时针方向。零度为3点方向。

另请参阅

angle()

setLength(len)#
参数

len – float

将线长设置为有限参数 lengthQLineF 将移动线的终点 - p2() - 以给出线的新长度,除非 length() 之前为零,在这种情况下不会尝试缩放。

另请参阅

length() unitVector()

setLine(x1, y1, x2, y2)#
参数
  • x1 – 浮点数

  • y1 – 浮点数

  • x2 – 浮点数

  • y2 – 浮点数

将此线设置为起始点在 x1y1 和终点在 x2y2

另请参阅

setP1() setP2() p1() p2()

setP1(p1)#
参数

p1QPointF

设置此线的起点为 p1.

另请参阅

setP2() p1()

setP2(p2)#
参数

p2QPointF

将此线的终点设置为 p2.

另请参阅

setP1() p2()

setPoints(p1, p2)#
参数

将此线的起点设置为 p1,将终点设置为 p2.

另请参阅

setP1() setP2() p1() p2()

toLine()#
返回类型:

QLine

返回基于整数的当前线的副本。

注意,返回的线的起点和终点将被四舍五入到最接近的整数。

另请参阅

QLineF() toLineF()

toTuple()#
返回类型:

对象

translate(p)#
参数

pQPointF

通过给定的 offset 平移此线。

translate(dx, dy)
参数
  • dx – float

  • dy – float

这是一个重载函数。

通过 dxdy 指定的距离平移此线。

translated(p)#
参数

pQPointF

返回类型:

QLineF

返回给定的 offset 平移此线的副本。

translated(dx, dy)
参数
  • dx – float

  • dy – float

返回类型:

QLineF

这是一个重载函数。

返回通过 dxdy 指定的距离平移此线的副本。

unitVector()#
返回类型:

QLineF

返回该线的单位向量,即从同一个起点开始,长度为1.0的线,前提是该线不为空。

x1()#
返回类型:

浮点数

返回线的起点x坐标。

另请参阅

p1()

x2()#
返回类型:

浮点数

返回线的终点x坐标。

另请参阅

p2()

y1()#
返回类型:

浮点数

返回线的起点y坐标。

另请参阅

p1()

y2()#
返回类型:

浮点数

返回线的终点y坐标。

另请参阅

p2()