QPoint Class

QPoint 클래스는 정수 정밀도를 사용하여 평면의 한 점을 정의합니다. 더 보기...

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

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

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

참고: 이 클래스의 모든 함수는 재진입합니다.

공용 함수

QPoint()
QPoint(int xpos, int ypos)
bool isNull() const
int manhattanLength() const
int &rx()
int &ry()
void setX(int x)
void setY(int y)
CGPoint toCGPoint() const
(since 6.4) QPointF toPointF() const
QPoint transposed() const
int x() const
int y() const
QPoint &operator*=(double factor)
QPoint &operator*=(float factor)
QPoint &operator*=(int factor)
QPoint &operator+=(const QPoint &point)
QPoint &operator-=(const QPoint &point)
QPoint &operator/=(qreal divisor)

정적 공용 멤버

int dotProduct(const QPoint &p1, const QPoint &p2)
bool operator!=(const QPoint &lhs, const QPoint &rhs)
QPoint operator*(const QPoint &point, double factor)
QPoint operator*(const QPoint &point, float factor)
QPoint operator*(const QPoint &point, int factor)
QPoint operator*(double factor, const QPoint &point)
QPoint operator*(float factor, const QPoint &point)
QPoint operator*(int factor, const QPoint &point)
QPoint operator+(const QPoint &point)
QPoint operator+(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &point)
QPoint operator/(const QPoint &point, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
bool operator==(const QPoint &lhs, const QPoint &rhs)
QDataStream &operator>>(QDataStream &stream, QPoint &point)

상세 설명

점은 x() 및 y() 함수를 사용하여 액세스할 수 있는 x 좌표와 y 좌표로 지정됩니다. isNull () 함수는 x와 y가 모두 0으로 설정된 경우 true 을 반환합니다. 좌표는 setX() 및 setY() 함수 또는 좌표에 대한 참조를 반환하는 rx() 및 ry() 함수(직접 조작 가능)를 사용하여 설정(또는 변경)할 수 있습니다.

p가 주어지면 다음 문은 모두 동일합니다:

QPoint p;

p.setX(p.x() + 1);
p += QPoint(1, 0);
p.rx()++;

QPoint 객체는 벡터로도 사용할 수 있습니다: 덧셈과 뺄셈은 벡터에 대해 정의됩니다(각 구성 요소는 개별적으로 추가됨). QPoint 객체를 int 또는 qreal 으로 나누거나 곱할 수도 있습니다.

또한 QPoint 클래스는 manhattanLength() 함수를 제공하여 벡터로 해석된 QPoint 객체의 길이를 저렴하게 근사화할 수 있습니다. 마지막으로, QPoint 객체를 스트리밍할 수 있을 뿐만 아니라 비교할 수도 있습니다.

QPointFQPolygon참조하십시오 .

멤버 함수 문서

[constexpr noexcept] QPoint::QPoint()

좌표 (0, 0)로 영점을 생성합니다.

isNull()도 참조하세요 .

[constexpr noexcept] QPoint::QPoint(int xpos, int ypos)

주어진 좌표로 점을 만듭니다 (xpos, ypos).

setX() 및 setY()도 참조하세요 .

[static constexpr] int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)

QPoint p( 3, 7);
QPoint q(-1, 4);
int dotProduct = QPoint::dotProduct(p, q);   // dotProduct becomes 25

p1p2 의 도트 곱을 반환합니다.

[constexpr noexcept] bool QPoint::isNull() const

x 좌표와 y 좌표가 모두 0으로 설정된 경우 true 를 반환하고, 그렇지 않으면 false 을 반환합니다.

[constexpr] int QPoint::manhattanLength() const

x()와 y()의 절대값의 합을 반환하며, 일반적으로 원점에서 점까지의 벡터의 '맨해튼 길이'로 알려져 있습니다. 예를 들어

QPoint oldPosition;

MyWidget::mouseMoveEvent(QMouseEvent *event)
{
    QPoint point = event->pos() - oldPosition;
    if (point.manhattanLength() > 3)
        // the mouse has moved more than 3 pixels since the oldPosition
}

이것은 유용하고 빠르게 계산할 수 있는 실제 길이에 대한 근사치입니다:

double trueLength = std::sqrt(std::pow(x(), 2) + std::pow(y(), 2));

'맨해튼 길이'라는 전통은 맨해튼의 거리와 같이 직사각형 그리드에서만 이동할 수 있는 여행자에게 이러한 거리가 적용되기 때문에 생겨났습니다.

[constexpr noexcept] int &QPoint::rx()

이 지점의 x 좌표에 대한 참조를 반환합니다.

참조를 사용하면 x를 직접 조작할 수 있습니다:

QPoint p(1, 2);
p.rx()--;   // p becomes (0, 2)

x() 및 setX()도 참조하세요 .

[constexpr noexcept] int &QPoint::ry()

이 점의 y 좌표에 대한 참조를 반환합니다.

참조를 사용하면 y를 직접 조작할 수 있습니다:

QPoint p(1, 2);
p.ry()++;   // p becomes (1, 3)

y() 및 setY()도 참조하세요 .

[constexpr noexcept] void QPoint::setX(int x)

이 지점의 x 좌표를 지정된 x 좌표로 설정합니다.

x() 및 setY()도 참조하세요 .

[constexpr noexcept] void QPoint::setY(int y)

이 지점의 y 좌표를 지정된 y 좌표로 설정합니다.

y() 및 setX()도 참조하세요 .

[noexcept] CGPoint QPoint::toCGPoint() const

QPoint 에서 CGPoint를 생성합니다.

QPointF::fromCGPoint()도 참조하세요 .

[constexpr noexcept, since 6.4] QPointF QPoint::toPointF() const

이 점을 부동 소수점 정확도의 점으로 반환합니다.

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

QPointF::toPoint()도 참조하십시오 .

[constexpr noexcept] QPoint QPoint::transposed() const

x와 y 좌표가 교환된 점을 반환합니다:

QPoint{1, 2}.transposed() // {2, 1}

x(), y(), setX() 및 setY()도 참조하세요 .

[constexpr noexcept] int QPoint::x() const

이 지점의 x 좌표를 반환합니다.

setX() 및 rx()도 참조하세요 .

[constexpr noexcept] int QPoint::y() const

이 지점의 y 좌표를 반환합니다.

setY() 및 ry()도 참조하세요 .

[constexpr] QPoint &QPoint::operator*=(double factor)

이 점의 좌표에 주어진 factor 을 곱하고 이 점에 대한 참조를 반환합니다. 예를 들어

QPoint p(-1, 4);
p *= 2.5;    // p becomes (-3, 10)

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

operator/=()도 참조하세요 .

[constexpr] QPoint &QPoint::operator*=(float factor)

이 점의 좌표에 주어진 factor 을 곱하고 이 점에 대한 참조를 반환합니다.

포인트는 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

operator/=()도 참조하세요 .

[constexpr] QPoint &QPoint::operator*=(int factor)

이 점의 좌표에 주어진 factor 을 곱하고 이 점에 대한 참조를 반환합니다.

operator/=()도 참조하세요 .

[constexpr] QPoint &QPoint::operator+=(const QPoint &point)

주어진 point 을 이 지점에 추가하고 이 지점에 대한 참조를 반환합니다. 예를 들어:

QPoint p( 3, 7);
QPoint q(-1, 4);
p += q;    // p becomes (2, 11)

operator-=()도 참조하세요 .

[constexpr] QPoint &QPoint::operator-=(const QPoint &point)

이 지점에서 주어진 point 을 빼고 이 지점에 대한 참조를 반환합니다. 예를 들어

QPoint p( 3, 7);
QPoint q(-1, 4);
p -= q;    // p becomes (4, 3)

operator+=()도 참조하세요 .

[constexpr] QPoint &QPoint::operator/=(qreal divisor)

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

주어진 divisor 으로 x와 y를 모두 나누고 이 지점에 대한 참조를 반환합니다. 예시입니다:

QPoint p(-3, 10);
p /= 2.5;           // p becomes (-1, 4)

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

operator*=()도 참조하세요 .

관련 비회원

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

lhsrhs 이 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

[constexpr] QPoint operator*(const QPoint &point, double factor)

주어진 point 에 주어진 factor 을 곱한 복사본을 반환합니다.

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

QPoint::operator*=()도 참조하세요 .

[constexpr] QPoint operator*(const QPoint &point, float factor)

주어진 point 에 주어진 factor 을 곱한 복사본을 반환합니다.

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

QPoint::operator*=()도 참조하세요 .

[constexpr noexcept] QPoint operator*(const QPoint &point, int factor)

주어진 point 에 주어진 factor 을 곱한 사본을 반환합니다.

QPoint::operator*=()도 참조하세요 .

[constexpr] QPoint operator*(double factor, const QPoint &point)

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

주어진 point 에 주어진 factor 을 곱한 복사본을 반환합니다.

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

QPoint::operator*=()도 참조하세요 .

[constexpr] QPoint operator*(float factor, const QPoint &point)

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

주어진 point 에 주어진 factor 을 곱한 복사본을 반환합니다.

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

QPoint::operator*=()도 참조하세요 .

[constexpr noexcept] QPoint operator*(int factor, const QPoint &point)

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

주어진 point 에 주어진 factor 을 곱한 복사본을 반환합니다.

QPoint::operator*=()도 참조하세요 .

[constexpr noexcept] QPoint operator+(const QPoint &point)

point 수정되지 않은 상태로 반환합니다.

[constexpr noexcept] QPoint operator+(const QPoint &p1, const QPoint &p2)

주어진 포인트( p1p2)의 합계인 QPoint 객체를 반환하며, 각 구성 요소는 개별적으로 추가됩니다.

QPoint::operator+=()도 참조하세요 .

[constexpr noexcept] QPoint operator-(const QPoint &p1, const QPoint &p2)

p1 에서 p2 을 빼서 형성된 QPoint 객체를 반환합니다; 각 구성 요소는 개별적으로 빼집니다.

QPoint::operator-=()도 참조하세요 .

[constexpr noexcept] QPoint operator-(const QPoint &point)

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

주어진 point 의 두 구성 요소의 부호를 변경하여 형성된 QPoint 객체를 반환합니다.

QPoint(0,0) - point 와 동일합니다.

[constexpr] QPoint operator/(const QPoint &point, qreal divisor)

주어진 point 의 두 구성 요소를 주어진 divisor 로 나누어 형성된 QPoint 를 반환합니다.

포인트가 정수로 유지되므로 결과는 가장 가까운 정수로 반올림됩니다. 부동 소수점 정확도에는 QPointF 을 사용합니다.

QPoint::operator/=()도 참조하세요 .

QDataStream &operator<<(QDataStream &stream, const QPoint &point)

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

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

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

lhsrhs 이 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

QDataStream &operator>>(QDataStream &stream, QPoint &point)

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

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.