En esta página

QLineF Class

La clase QLineF proporciona un vector bidimensional con precisión de coma flotante. Más...

Cabecera: #include <QLineF>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Esta clase es igual-comparable.

Esta clase es comparable con QLine.

Tipos Públicos

enum IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection }

Funciones Públicas

QLineF()
QLineF(const QLine &line)
QLineF(const QPointF &p1, const QPointF &p2)
QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
QPointF p1() const
QPointF p2() const
qreal x1() const
qreal x2() const
qreal y1() const
qreal y2() const
qreal angle() const
qreal angleTo(const QLineF &line) const
QPointF center() const
qreal dx() const
qreal dy() const
QLineF::IntersectionType intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const
bool isNull() const
qreal length() const
QLineF normalVector() const
QPointF pointAt(qreal t) const
void setP1(const QPointF &p1)
void setP2(const QPointF &p2)
void setAngle(qreal angle)
void setLength(qreal length)
void setLine(qreal x1, qreal y1, qreal x2, qreal y2)
void setPoints(const QPointF &p1, const QPointF &p2)
QLine toLine() const
void translate(const QPointF &offset)
void translate(qreal dx, qreal dy)
QLineF translated(const QPointF &offset) const
QLineF translated(qreal dx, qreal dy) const
QLineF unitVector() const

Miembros públicos estáticos

QLineF fromPolar(qreal length, qreal angle)
(since 6.8) bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs)
(since 6.8) bool qFuzzyIsNull(const QLineF &line)
bool operator!=(const QLineF &lhs, const QLineF &rhs)
QDataStream &operator<<(QDataStream &stream, const QLineF &line)
bool operator==(const QLineF &lhs, const QLineF &rhs)
QDataStream &operator>>(QDataStream &stream, QLineF &line)

Descripción Detallada

QLineF describe una línea de longitud finita (o segmento de línea) en una superficie bidimensional. QLineF define los puntos inicial y final de la línea utilizando coordenadas con precisión de coma flotante. Utilice la función toLine() para recuperar una copia de esta línea basada en números enteros.

Las posiciones de los puntos inicial y final de la línea pueden recuperarse utilizando las funciones p1(), x1(), y1(), p2(), x2() y y2(). Las funciones dx() y dy() devuelven las componentes horizontal y vertical de la línea, respectivamente.

La longitud de la línea puede obtenerse con la función length() y modificarse con la función setLength(). Del mismo modo, angle() y setAngle() se utilizan respectivamente para obtener y modificar el ángulo de la línea. Utilice la función isNull() para determinar si QLineF representa una línea válida o una línea nula.

La función intersects() determina el IntersectionType para esta línea y una línea dada, mientras que la función angleTo() devuelve el ángulo entre las líneas. Además, la función unitVector() devuelve una recta que tiene el mismo punto de partida que esta recta, pero con una longitud de sólo 1, mientras que la función normalVector() devuelve una recta perpendicular a esta recta con el mismo punto de partida y longitud.

Por último, la línea se puede trasladar un desplazamiento dado utilizando la función translate(), y se puede recorrer utilizando la función pointAt().

Restricciones

QLine se limita a los valores mínimo y máximo del tipo int. Las operaciones en un QLine que potencialmente podrían resultar en valores fuera de este rango resultarán en un comportamiento indefinido.

Véase también QLine, QPolygonF, y QRectF.

Documentación de tipos de miembros

enum QLineF::IntersectionType

Describe la intersección entre dos líneas.

QLineF::IntersecciónNoLimitadaQLineF::Intersecciónlimitada
ConstanteValorDescripción
QLineF::NoIntersection0Indica que las líneas no se intersecan; es decir, son paralelas.
QLineF::UnboundedIntersection2Las dos líneas se intersecan, pero no dentro del rango definido por sus longitudes. Este será el caso si las líneas no son paralelas. intersect() también devolverá este valor si el punto de intersección se encuentra dentro de los puntos inicial y final de una sola de las líneas.
QLineF::BoundedIntersection1Las dos líneas se intersecan entre sí dentro de los puntos inicial y final de cada línea.

Véase también intersects().

Documentación de las funciones miembro

[constexpr] QLineF::QLineF()

Construye una línea nula.

[constexpr] QLineF::QLineF(const QLine &line)

Construye un objeto QLineF a partir del entero dado line.

Véase también toLine() y QLine::toLineF().

[constexpr] QLineF::QLineF(const QPointF &p1, const QPointF &p2)

Construye un objeto línea que representa la línea entre p1 y p2.

[constexpr] QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)

Construye un objeto línea que representa la línea entre (x1, y1) y (x2, y2).

[constexpr] QPointF QLineF::p1() const

Devuelve el punto inicial de la línea.

Véase también setP1(), x1(), y1() y p2().

[constexpr] QPointF QLineF::p2() const

Devuelve el punto final de la línea.

Véase también setP2(), x2(), y2() y p1().

[constexpr] qreal QLineF::x1() const

Devuelve la coordenada x del punto inicial de la línea.

Véase también p1().

[constexpr] qreal QLineF::x2() const

Devuelve la coordenada x del punto final de la línea.

Véase también p2().

[constexpr] qreal QLineF::y1() const

Devuelve la coordenada y del punto inicial de la línea.

Véase también p1().

[constexpr] qreal QLineF::y2() const

Devuelve la coordenada y del punto final de la línea.

Véase también p2().

qreal QLineF::angle() const

Devuelve el ángulo de la línea en grados.

El valor devuelto estará en el rango de valores desde 0,0 hasta 360,0, pero sin incluirlos. Los ángulos se miden en sentido antihorario desde un punto del eje x a la derecha del origen (x > 0).

Véase también setAngle().

qreal QLineF::angleTo(const QLineF &line) const

Devuelve el ángulo (en grados) desde esta línea a la dada line, teniendo en cuenta la dirección de las líneas. Si las líneas no intersect dentro de su rango, es el punto de intersección de las líneas extendidas el que sirve como origen (ver QLineF::UnboundedIntersection).

El valor devuelto representa el número de grados que hay que añadir a esta línea para que tenga el mismo ángulo que la dada line, yendo en sentido contrario a las agujas del reloj.

Véase también intersects().

[constexpr] QPointF QLineF::center() const

Devuelve el punto central de esta línea. Equivale a 0,5 * p1() + 0,5 * p2().

[constexpr] qreal QLineF::dx() const

Devuelve la componente horizontal del vector de la línea.

Véase también dy() y pointAt().

[constexpr] qreal QLineF::dy() const

Devuelve la componente vertical del vector de la línea.

Véase también dx() y pointAt().

[static] QLineF QLineF::fromPolar(qreal length, qreal angle)

Devuelve un QLineF con los datos length y angle.

El primer punto de la recta estará en el origen.

Los valores positivos de los ángulos significan el sentido contrario a las agujas del reloj, mientras que los valores negativos significan el sentido de las agujas del reloj. Cero grados está en la posición de las 3 en punto.

QLineF::IntersectionType QLineF::intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const

Devuelve un valor que indica si esta línea se cruza o no con el line dado.

El punto de intersección real se extrae a intersectionPoint (si el puntero es válido). Si las líneas son paralelas, el punto de intersección es indefinido.

[constexpr] bool QLineF::isNull() const

Devuelve true si la línea no tiene puntos inicial y final distintos; en caso contrario devuelve false. Los puntos inicial y final se consideran distintos si qFuzzyCompare() puede distinguirlos en al menos una coordenada.

Nota: Debido al uso de comparación difusa, isNull() puede devolver true para líneas cuyo length() no sea cero.

Véase también qFuzzyCompare() y length().

qreal QLineF::length() const

Devuelve la longitud de la línea.

Véase también setLength() y isNull().

[constexpr] QLineF QLineF::normalVector() const

Devuelve una línea perpendicular a esta línea con el mismo punto de partida y longitud.

Diagrama que muestra dos vectores con el mismo punto inicial: (v_x, v_y) y (vy, -vx).

Véase también unitVector().

[constexpr] QPointF QLineF::pointAt(qreal t) const

Devuelve el punto en la posición especificada por el parámetro finito t. La función devuelve el punto inicial de la línea si t = 0, y su punto final si t = 1.

Véase también dx() y dy().

void QLineF::setP1(const QPointF &p1)

Establece el punto de inicio de esta línea en p1.

Véase también setP2() y p1().

void QLineF::setP2(const QPointF &p2)

Establece el punto final de esta línea en p2.

Véase también setP1() y p2().

void QLineF::setAngle(qreal angle)

Establece el ángulo de la línea en angle (en grados). Esto cambiará la posición del segundo punto de la línea de tal forma que la línea tenga el ángulo dado.

Los valores positivos para los ángulos significan el sentido contrario a las agujas del reloj, mientras que los valores negativos significan el sentido de las agujas del reloj. Cero grados está en la posición de las 3 en punto.

Véase también angle().

void QLineF::setLength(qreal length)

Establece la longitud de la línea al finito dado length. QLineF moverá el punto final - p2() - de la línea para dar a la línea su nueva longitud, a menos que length() fuera previamente cero, en cuyo caso no se intenta escalar.

Véase también length() y unitVector().

void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)

Fija esta línea al inicio en x1, y1 y al final en x2, y2.

Véase también setP1(), setP2(), p1(), y p2().

void QLineF::setPoints(const QPointF &p1, const QPointF &p2)

Establece el punto inicial de esta línea en p1 y el punto final de esta línea en p2.

Véase también setP1(), setP2(), p1() y p2().

[constexpr] QLine QLineF::toLine() const

Devuelve una copia basada en enteros de esta línea.

Tenga en cuenta que los puntos inicial y final de la línea devuelta se redondean al entero más cercano.

Véase también QLineF() y QLine::toLineF().

[constexpr] void QLineF::translate(const QPointF &offset)

Traduce esta línea por la dirección offset.

[constexpr] void QLineF::translate(qreal dx, qreal dy)

Traslada esta línea la distancia especificada por dx y dy.

Se trata de una función sobrecargada.

[constexpr] QLineF QLineF::translated(const QPointF &offset) const

Devuelve esta línea traducida por el offset dado .

[constexpr] QLineF QLineF::translated(qreal dx, qreal dy) const

Devuelve esta línea trasladada la distancia especificada por dx y dy.

Se trata de una función sobrecargada.

QLineF QLineF::unitVector() const

Devuelve el vector unitario para esta línea, es decir, una línea que comienza en el mismo punto que esta línea con una longitud de 1,0, siempre que la línea no sea nula.

Véase también normalVector() y setLength().

No miembros relacionados

[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs)

Devuelve true si la línea lhs es aproximadamente igual a la línea rhs; en caso contrario devuelve false.

Las líneas se consideran aproximadamente iguales si sus puntos inicial y final son aproximadamente iguales.

Esta función se introdujo en Qt 6.8.

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QLineF &line)

Devuelve true si el punto inicial de la línea line es aproximadamente igual a su punto final; en caso contrario devuelve false.

Esta función se introdujo en Qt 6.8.

[constexpr noexcept] bool operator!=(const QLineF &lhs, const QLineF &rhs)

Devuelve true si la línea lhs no es igual a la línea rhs.

Una línea es diferente de otra si sus puntos inicial o final difieren, o si el orden interno de los puntos es diferente.

QDataStream &operator<<(QDataStream &stream, const QLineF &line)

Escribe el line dado en el stream dado y devuelve una referencia al flujo.

Véase también Serializar tipos de datos Qt.

[constexpr noexcept] bool operator==(const QLineF &lhs, const QLineF &rhs)

Devuelve true si la línea lhs es idéntica a la línea rhs.

Una línea es idéntica a otra si los puntos inicial y final son idénticos y el orden interno de los puntos es el mismo.

QDataStream &operator>>(QDataStream &stream, QLineF &line)

Lee una línea del stream dado en el line dado y devuelve una referencia al flujo.

Véase también Serializar tipos de datos Qt.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.