QPoint Class
QPoint 클래스는 정수 정밀도를 사용하여 평면상의 점을 정의합니다. 더 보기...
| 헤더: | #include <QPoint> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- QPoint는 페인팅 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
QPoint 비교
| 범주 | 비교 가능한 유형 |
|---|---|
| 동등성 | QPoint |
| 동등성 | 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 객체는 벡터로도 사용할 수 있습니다. 덧셈과 뺄셈은 벡터와 마찬가지로 정의됩니다(각 성분이 따로 더해집니다). 또한 QPoint 객체는 int 나 qreal 로 나눌 수도 있고 곱할 수도 있습니다.
또한, QPoint 클래스는 QPoint 객체를 벡터로 해석했을 때의 길이에 대한 효율적인 근사값을 제공하는 manhattanLength() 함수를 제공합니다. 마지막으로, QPoint 객체는 스트리밍될 수 있을 뿐만 아니라 비교도 가능합니다.
멤버 함수 문서
[constexpr noexcept] QPoint::QPoint()
좌표가 (0, 0)인 영점을 생성합니다.
isNull()도 참조하십시오 .
[constexpr noexcept] QPoint::QPoint(int xpos, int ypos)
주어진 좌표(xpos, ypos)를 가진 점을 생성합니다.
[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 25p1 와 p2 의 내적을 반환합니다.
[constexpr noexcept] bool QPoint::isNull() const
x 및 y 좌표가 모두 0으로 설정된 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.
[constexpr] int QPoint::manhattanLength() const
x()와 y()의 절댓값의 합을 반환하며, 이는 전통적으로 원점부터 해당 점까지의 벡터 “맨해튼 길이”로 알려져 있습니다. 예를 들어:
QPoint oldPosition;
void 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)[constexpr noexcept] int &QPoint::ry()
이 점의 y 좌표에 대한 참조를 반환합니다.
참조를 사용하면 y를 직접 조작할 수 있습니다. 예를 들어:
QPoint p(1, 2);
p.ry()++; // p becomes (1, 3)[constexpr noexcept] void QPoint::setX(int x)
이 점의 x 좌표를 지정된 x 좌표로 설정합니다.
[constexpr noexcept] void QPoint::setY(int y)
이 점의 y 좌표를 지정된 y 좌표로 설정합니다.
[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 좌표를 반환합니다.
[constexpr noexcept] int QPoint::y() const
이 점의 y 좌표를 반환합니다.
[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 를 이 점에 추가하고, 이 점에 대한 참조를 반환합니다. 예:
operator-=()도 참조하십시오 .
[constexpr] QPoint &QPoint::operator-=(const QPoint &point)
지정된 좌표 point 를 현재 지점에서 빼고, 이 지점에 대한 참조를 반환합니다. 예:
operator+=()도 참조하십시오 .
[constexpr] QPoint &QPoint::operator/=(qreal divisor)
x와 y를 모두 주어진 divisor 로 나눈 뒤, 이 점에 대한 참조를 반환합니다. 예시:
QPoint p(-3, 10);
p /= 2.5; // p becomes (-1, 4)점은 정수형으로 저장되므로 결과는 가장 가까운 정수로 반올림된다는 점에 유의하십시오. 부동소수점 정밀도를 원할 경우 ` QPointF `를 사용하십시오.
operator*=()도 참조하십시오 .
관련 비멤버 함수
[constexpr noexcept] bool operator!=(const QPoint &lhs, const QPoint &rhs)
lhs 와 rhs 가 같지 않으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
[constexpr] QPoint operator*(const QPoint &point, double factor)
지정된 point 에 지정된 factor 를 곱한 값의 복사본을 반환합니다.
점(point)은 정수로 저장되므로, 결과는 가장 가까운 정수로 반올림된다는 점에 유의하십시오. 부동 소수점 정밀도를 원할 경우 QPointF 를 사용하십시오.
QPoint::operator*=()도 참조하십시오 .
[constexpr] QPoint operator*(const QPoint &point, float factor)
지정된 ` point `에 지정된 ` factor`를 곱한 값의 복사본을 반환합니다.
점(point)은 정수형으로 저장되므로, 결과는 가장 가까운 정수로 반올림된다는 점에 유의하십시오. 부동소수점 정밀도를 원할 경우 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`를 곱한 값의 복사본을 반환합니다.
점(point)은 정수형으로 저장되므로, 결과는 가장 가까운 정수로 반올림된다는 점에 유의하십시오. 부동소수점 정밀도를 원할 경우 QPointF 를 사용하십시오.
이 함수는 오버로드된 함수입니다.
QPoint::operator*=()도 참조하십시오 .
[constexpr] QPoint operator*(float factor, const QPoint &point)
지정된 ` point `에 지정된 ` factor`를 곱한 값의 복사본을 반환합니다.
점(point)은 정수형으로 저장되므로, 결과는 가장 가까운 정수로 반올림된다는 점에 유의하십시오. 부동 소수점 정밀도를 원할 경우 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)
주어진 점들인 p1 및 p2 의 합을 나타내는 ` QPoint ` 객체를 반환합니다. 각 성분은 별도로 더합니다.
QPoint::operator+=()도 참조하십시오 .
[constexpr noexcept] QPoint operator-(const QPoint &p1, const QPoint &p2)
p2 를 p1 에서 뺀 값으로 구성된 ` 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 를 반환합니다.
점(point)은 정수형으로 저장되므로, 결과는 가장 가까운 정수로 반올림된다는 점에 유의하십시오. 부동소수점 정밀도를 원할 경우 QPointF 를 사용하십시오.
QPoint::operator/=()도 참조하십시오 .
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
지정된 ` point `를 지정된 ` stream `에 기록하고, 해당 스트림에 대한 참조를 반환합니다.
Qt 데이터 유형 직렬화항목도 참조하십시오 .
[constexpr noexcept] bool operator==(const QPoint &lhs, const QPoint &rhs)
lhs 와 rhs 가 같으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
QDataStream &operator>>(QDataStream &stream, QPoint &point)
지정된 ` stream `에서 한 점을 읽어 지정된 ` point `에 저장하고, 해당 스트림에 대한 참조를 반환합니다.
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.