PySide6.QtCore.QLineF

class QLineF

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

概要

方法

静态函数

注意

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

详细描述

一个QLineF描述了二维表面上的有限长度线(或线段)。QLineF使用浮点精度定义线的起点和终点坐标。使用toLine()函数可以检索此线的基于整数的副本。

qline-coordinates2

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 的操作如果可能导致超出此范围的值,将导致未定义行为。

另请参阅

QLine QRectF

class IntersectionType

描述两条线之间的交点。

qlinef-bounded2

qlinef-bounded2

QLineF::UnboundedIntersection

QLineF::BoundedIntersection

常量

描述

QLineF.NoIntersection

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

QLineF.UnboundedIntersection

两条线相交,但不在它们长度定义的范围内。如果两条线不平行,就会出现这种情况。如果交点仅在其中一条线的起点和终点之间,intersect() 也会返回此值。

QLineF.BoundedIntersection

两条线在每条线的起点和终点之间相交。

另请参阅

intersects()

__init__()

构造一条空线。

__init__(line)
Parameters:

线QLine

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

另请参阅

toLine() toLineF()

__init__(pt1, pt2)
Parameters:

构造一个表示p1p2之间直线的对象。

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

  • y1 – 浮点数

  • x2 – 浮点数

  • y2 – 浮点数

构造一个表示从 (x1, y1) 到 (x2, y2) 的线段对象。

__reduce__()
Return type:

字符串

__repr__()
Return type:

字符串

angle()
Return type:

浮点数

返回直线的角度,单位为度。

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

另请参阅

setAngle()

angleTo(l)
Parameters:

lQLineF

Return type:

浮点数

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

返回值表示您需要向此线添加的度数,以使其具有与给定line相同的角度,逆时针方向。

另请参阅

intersects()

center()
Return type:

QPointF

返回这条线的中心点。这相当于 0.5 * p1() + 0.5 * p2()

dx()
Return type:

浮点数

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

另请参阅

dy() pointAt()

dy()
Return type:

浮点数

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

另请参阅

dx() pointAt()

static fromPolar(length, angle)
Parameters:
  • length – 浮点数

  • angle – 浮点数

Return type:

QLineF

返回一个具有给定lengthangleQLineF

线的第一个点将在原点。

角度的正值表示逆时针方向,而负值表示顺时针方向。零度位于3点钟位置。

intersects(l)
Parameters:

lQLineF

Return type:

(intersectType, intersectionPoint)

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

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

isNull()
Return type:

布尔

如果线条没有明确的起点和终点,则返回true;否则返回false。如果qFuzzyCompare()能够在至少一个坐标上区分起点和终点,则认为它们是不同的。

注意

由于使用了模糊比较,isNull() 可能会对 length() 不为零的行返回 true

另请参阅

qFuzzyCompare() length()

length()
Return type:

浮点数

返回线的长度。

另请参阅

setLength() isNull()

normalVector()
Return type:

QLineF

返回一条与此线垂直且具有相同起点和长度的线。

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

另请参阅

unitVector()

__ne__(rhs)
Parameters:

rhsQLine

Return type:

布尔

__ne__(rhs)
Parameters:

rhsQLineF

Return type:

布尔

如果行 lhs 与行 rhs 不相同,则返回 true

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

__mul__(m)
Parameters:

mQTransform

Return type:

QLineF

__eq__(rhs)
Parameters:

rhsQLine

Return type:

布尔

__eq__(rhs)
Parameters:

rhsQLineF

Return type:

布尔

如果行 lhs 与行 rhs 相同,则返回 true

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

p1()
Return type:

QPointF

返回线条的起点。

另请参阅

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

p2()
Return type:

QPointF

返回线的终点。

另请参阅

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

pointAt(t)
Parameters:

t – 浮点数

Return type:

QPointF

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

另请参阅

dx() dy()

setAngle(angle)
Parameters:

angle – 浮点数

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

角度的正值表示逆时针方向,而负值表示顺时针方向。零度位于3点钟位置。

另请参阅

angle()

setLength(len)
Parameters:

len – 浮点数

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

另请参阅

length() unitVector()

setLine(x1, y1, x2, y2)
Parameters:
  • x1 – 浮点数

  • y1 – 浮点数

  • x2 – 浮点数

  • y2 – 浮点数

将此线设置为从x1y1开始,到x2y2结束。

另请参阅

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

setP1(p1)
Parameters:

p1QPointF

将此行的起点设置为 p1

另请参阅

setP2() p1()

setP2(p2)
Parameters:

p2QPointF

将此线的终点设置为 p2

另请参阅

setP1() p2()

setPoints(p1, p2)
Parameters:

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

另请参阅

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

toLine()
Return type:

QLine

返回此行的基于整数的副本。

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

另请参阅

QLineF() toLineF()

toTuple()
Return type:

对象

translate(p)
Parameters:

pQPointF

通过给定的offset平移这条线。

translate(dx, dy)
Parameters:
  • dx – 浮点数

  • dy – 浮点数

这是一个重载函数。

将此行平移由dxdy指定的距离。

translated(p)
Parameters:

pQPointF

Return type:

QLineF

返回由给定的offset翻译的这条线。

translated(dx, dy)
Parameters:
  • dx – 浮点数

  • dy – 浮点数

Return type:

QLineF

这是一个重载函数。

返回此线平移了由dxdy指定的距离。

unitVector()
Return type:

QLineF

返回此线的单位向量,即一条起点与此线相同且长度为1.0的线,前提是该线不为空。

x1()
Return type:

浮点数

返回线条起点的x坐标。

另请参阅

p1()

x2()
Return type:

浮点数

返回线条终点的x坐标。

另请参阅

p2()

y1()
Return type:

浮点数

返回线条起点的y坐标。

另请参阅

p1()

y2()
Return type:

浮点数

返回线条终点的y坐标。

另请参阅

p2()