QLineF Class

QLineF 클래스는 부동 소수점 정밀도를 사용하여 2차원 벡터를 제공합니다. 더 보기...

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

이 클래스는 동등 비교 가능합니다.

이 클래스는 QLine동등합니다.

공용 유형

enum IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection }

공용 함수

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

정적 공용 멤버

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)

상세 설명

QLineF는 2차원 서페이스의 유한 길이 선(또는 선분)을 나타냅니다. QLineF는 좌표의 부동 소수점 정확도를 사용하여 선의 시작점과 끝점을 정의합니다. toLine () 함수를 사용하여 이 선의 정수 기반 복사본을 검색합니다.

선의 시작점과 끝점의 위치는 p1(), x1(), y1(), p2(), x2() 및 y2() 함수를 사용하여 검색할 수 있습니다. dx () 및 dy() 함수는 각각 선의 가로 및 세로 성분을 반환합니다.

줄의 길이는 length() 함수를 사용하여 검색하고 setLength() 함수를 사용하여 변경할 수 있습니다. 마찬가지로 angle() 및 setAngle() 함수는 각각 선의 각도를 검색하고 변경하는 데 사용됩니다. isNull () 함수를 사용하여 QLineF가 유효한 선을 나타내는지 아니면 null 선을 나타내는지 확인합니다.

intersects() 함수는 이 선과 지정된 선에 대한 IntersectionType 을 결정하고 angleTo() 함수는 선 사이의 각도를 반환합니다. 또한 unitVector() 함수는 이 선과 시작점은 같지만 길이가 1인 선을 반환하고, normalVector() 함수는 시작점과 길이가 같은 이 선과 수직인 선을 반환합니다.

마지막으로 translate() 함수를 사용하여 주어진 오프셋만큼 선을 변환할 수 있으며 pointAt() 함수를 사용하여 선을 횡단할 수 있습니다.

제약 조건

QLineint 유형의 최소값과 최대값으로 제한됩니다. 잠재적으로 이 범위를 벗어나는 값을 초래할 수 있는 QLine 에 대한 작업은 정의되지 않은 동작을 초래합니다.

QLine, QPolygonF, QRectF참조하세요 .

멤버 유형 문서

enum QLineF::IntersectionType

두 선 사이의 교차를 설명합니다.

QLineF::UnboundedIntersectionQLineF::바운디드 교차점
Constant설명
QLineF::NoIntersection0두 선이 교차하지 않는, 즉 평행한 선임을 나타냅니다.
QLineF::UnboundedIntersection2두 선이 교차하지만 길이로 정의된 범위 내에 있지 않습니다. 선이 평행하지 않은 경우에 해당하며, 교차점이 선 중 하나의 시작점과 끝점 내에만 있는 경우에도 intersect()는 이 값을 반환합니다.
QLineF::BoundedIntersection1두 선은 각 선의 시작점과 끝점 내에서 서로 교차합니다.

intersects()도 참조하세요 .

멤버 함수 문서

[constexpr] QLineF::QLineF()

널 라인을 생성합니다.

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

주어진 정수 기반 line 에서 QLineF 객체를 구축합니다.

toLine() 및 QLine::toLineF()도 참조하세요 .

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

p1p2 사이의 선을 나타내는 선 객체를 생성합니다.

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

(x1, y1)와 (x2, y2) 사이의 선을 나타내는 선 객체를 생성합니다.

[constexpr] QPointF QLineF::p1() const

선의 시작점을 반환합니다.

setP1(), x1(), y1() 및 p2()도 참조하세요 .

[constexpr] QPointF QLineF::p2() const

선의 끝점을 반환합니다.

setP2(), x2(), y2() 및 p1()도 참조하세요 .

[constexpr] qreal QLineF::x1() const

선의 시작점의 x 좌표를 반환합니다.

p1()도 참조하세요 .

[constexpr] qreal QLineF::x2() const

선의 끝점의 x 좌표를 반환합니다.

p2()도 참조하세요 .

[constexpr] qreal QLineF::y1() const

선의 시작점의 y 좌표를 반환합니다.

p1()도 참조하세요 .

[constexpr] qreal QLineF::y2() const

선의 끝점의 y 좌표를 반환합니다.

p2()도 참조하세요 .

qreal QLineF::angle() const

선의 각도를 도 단위로 반환합니다.

반환 값은 0.0에서 360.0까지의 값 범위입니다. 각도는 x축의 한 지점에서 원점의 오른쪽(x > 0)으로부터 시계 반대 방향으로 측정됩니다.

setAngle()도 참조하세요 .

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

선의 방향을 고려하여 이 선에서 주어진 line 까지의 각도(도)를 반환합니다. 선이 해당 범위 내에서 intersect 에 속하지 않으면 확장된 선의 교차점이 원점이 됩니다( QLineF::UnboundedIntersection 참조).

반환된 값은 주어진 line 와 같은 각도를 갖기 위해 이 선에 추가해야 하는 각도의 수를 시계 반대 방향으로 나타냅니다.

intersects()도 참조하세요 .

[constexpr] QPointF QLineF::center() const

이 선의 중심점을 반환합니다. 이는 0.5 * p1() + 0.5 * p2()에 해당합니다.

[constexpr] qreal QLineF::dx() const

선 벡터의 가로 성분을 반환합니다.

dy() 및 pointAt()도 참조하세요 .

[constexpr] qreal QLineF::dy() const

선 벡터의 수직 성분을 반환합니다.

dx() 및 pointAt()도 참조하세요 .

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

주어진 lengthangle 과 함께 QLineF 을 반환합니다.

선의 첫 번째 점은 원점이 됩니다.

각도의 양수 값은 시계 반대 방향을 의미하고 음수 값은 시계 방향을 의미합니다. 0도는 3시 위치에 있습니다.

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

줄이 주어진 line 과 교차하는지 여부를 나타내는 값을 반환합니다.

실제 교차점은 intersectionPoint 로 추출됩니다(포인터가 유효한 경우). 선이 평행한 경우 교차점은 정의되지 않습니다.

[constexpr] bool QLineF::isNull() const

선에 뚜렷한 시작점과 끝점이 없는 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. 시작점과 끝점은 qFuzzyCompare()가 적어도 하나의 좌표에서 구분할 수 있는 경우 구분된 것으로 간주합니다.

참고: 퍼지 비교를 사용하기 때문에 length()가 0이 아닌 선의 경우 isNull()은 true 을 반환할 수 있습니다.

qFuzzyCompare() 및 length()도 참조하세요 .

qreal QLineF::length() const

줄의 길이를 반환합니다.

setLength() 및 isNull()도 참조하세요 .

[constexpr] QLineF QLineF::normalVector() const

시작점과 길이가 동일한 이 선에 수직인 선을 반환합니다.

unitVector()도 참조하세요 .

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

유한 매개변수 t 로 지정된 위치의 점을 반환합니다. 이 함수는 t = 0이면 선의 시작점을, t = 1이면 끝점을 반환합니다.

dx() 및 dy()도 참조하세요 .

void QLineF::setP1(const QPointF &p1)

이 줄의 시작점을 p1 로 설정합니다.

setP2() 및 p1()도 참조하세요 .

void QLineF::setP2(const QPointF &p2)

이 줄의 끝점을 p2 으로 설정합니다.

setP1() 및 p2()도 참조하세요 .

void QLineF::setAngle(qreal angle)

선의 각도를 주어진 angle (도 단위)로 설정합니다. 이렇게 하면 선의 두 번째 점의 위치가 변경되어 선이 지정된 각도를 갖습니다.

각도의 양수 값은 시계 반대 방향을 의미하고 음수 값은 시계 방향을 의미합니다. 0도는 3시 위치에 있습니다.

angle()도 참조하세요 .

void QLineF::setLength(qreal length)

선의 길이를 주어진 유한 length 으로 설정합니다. QLineF 은 선의 끝점인 p2()을 이동하여 선의 새 길이를 지정합니다( length()이 이전에 0이 아닌 경우 배율이 시도되지 않음).

length() 및 unitVector()도 참조하세요 .

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

이 줄을 x1, y1 에서 시작하고 x2, y2 에서 끝내도록 설정합니다.

setP1(), setP2(), p1() 및 p2()도 참조하세요 .

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

이 줄의 시작점을 p1 으로, 끝점을 p2 으로 설정합니다.

setP1(), setP2(), p1() 및 p2()도 참조하세요 .

[constexpr] QLine QLineF::toLine() const

이 줄의 정수 기반 복사본을 반환합니다.

반환된 선의 시작점과 끝점은 가장 가까운 정수로 반올림됩니다.

QLineF() 및 QLine::toLineF()도 참조하세요 .

void QLineF::translate(const QPointF &offset)

이 줄을 주어진 offset 으로 번역합니다.

void QLineF::translate(qreal dx, qreal dy)

이것은 과부하된 함수입니다.

이 줄을 dxdy 에 지정된 거리만큼 변환합니다.

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

주어진 offset 으로 번역된 이 줄을 반환합니다.

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

이 함수는 오버로드된 함수입니다.

dxdy 에서 지정한 거리만큼 변환된 이 줄을 반환합니다.

QLineF QLineF::unitVector() const

이 선의 단위 벡터, 즉 선과 같은 지점에서 시작하여 길이가 1.0인 선(선이 null이 아닌 경우)을 반환합니다.

normalVector() 및 setLength()도 참조하세요 .

관련 비회원

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

lhs 행이 rhs 행과 거의 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

두 줄의 시작점과 끝점이 거의 같으면 두 줄은 거의 같은 것으로 간주됩니다.

이 함수는 Qt 6.8에 도입되었습니다.

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

line 줄의 시작점이 끝점과 거의 같으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

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

lhs 줄이 rhs 줄과 같지 않으면 true 을 반환합니다.

시작점이나 끝점이 다르거나 점의 내부 순서가 다른 경우 한 줄은 다른 줄과 다릅니다.

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

주어진 line 을 주어진 stream 에 쓰고 스트림에 대한 참조를 반환합니다.

Qt 데이터 유형 직렬화도참조하십시오 .

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

lhs 줄이 rhs 줄과 같으면 true 을 반환합니다.

시작점과 끝점이 동일하고 점의 내부 순서가 같으면 한 줄은 다른 줄과 동일합니다.

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

주어진 stream 에서 주어진 line 으로 한 줄을 읽고 스트림에 대한 참조를 반환합니다.

Qt 데이터 유형 직렬화도참조하십시오 .

© 2025 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.