QPolygon Class

QPolygon 클래스는 정수 정밀도를 사용하여 점의 목록을 제공합니다. 더 보기...

Header: #include <QPolygon>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속합니다: QList

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

공용 함수

QPolygon()
QPolygon(const QList<QPoint> &points)
QPolygon(const QRect &rectangle, bool closed = false)
QRect boundingRect() const
bool containsPoint(const QPoint &point, Qt::FillRule fillRule) const
QPolygon intersected(const QPolygon &r) const
bool intersects(const QPolygon &p) const
void point(int index, int *x, int *y) const
QPoint point(int index) const
void putPoints(int index, int nPoints, int firstx, int firsty, ...)
void putPoints(int index, int nPoints, const QPolygon &fromPolygon, int fromIndex = 0)
void setPoint(int index, int x, int y)
void setPoint(int index, const QPoint &point)
void setPoints(int nPoints, const int *points)
void setPoints(int nPoints, int firstx, int firsty, ...)
QPolygon subtracted(const QPolygon &r) const
void swap(QPolygon &other)
(since 6.4) QPolygonF toPolygonF() const
void translate(int dx, int dy)
void translate(const QPoint &offset)
QPolygon translated(int dx, int dy) const
QPolygon translated(const QPoint &offset) const
QPolygon united(const QPolygon &r) const
QVariant operator QVariant() const
QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon)
QDataStream &operator>>(QDataStream &stream, QPolygon &polygon)

상세 설명

QPolygon 객체는 QList<QPoint>입니다. 아래 그림과 같이 QPolygon에 점을 추가하는 가장 쉬운 방법은 QList 의 스트리밍 연산자를 사용하는 것입니다:

QPolygon polygon;
polygon << QPoint(10, 20) << QPoint(20, 30);

QList 에서 제공하는 함수 외에도 QPolygon은 몇 가지 점 관련 함수를 제공합니다.

다각형의 각 점은 point() 함수에 인덱스를 전달하여 검색할 수 있습니다. 다각형을 채우기 위해 QPolygon은 주어진 인덱스에 점을 설정하는 setPoint() 함수, 다각형의 모든 점을 설정하는 setPoints() 함수(주어진 점 수로 크기 조정), 지정된 인덱스에서 지정된 점 수를 다각형에 복사하는 putPoints() 함수를 제공합니다(필요한 경우 다각형의 크기 조정).

QPolygon은 도형 함수를 위한 boundingRect() 및 translate() 함수를 제공합니다. QPolygon의 보다 일반적인 변환은 QTransform::map() 함수를 사용하십시오.

QPolygon 클래스는 암시적으로 공유됩니다.

QList, QPolygonF, 및 QLine참조하십시오 .

멤버 함수 문서

[constexpr noexcept] QPolygon::QPolygon()

점이 없는 다각형을 만듭니다.

QList::isEmpty()도 참조하세요 .

QPolygon::QPolygon(const QList<QPoint> &points)

지정된 points 을 포함하는 다각형을 생성합니다.

setPoints()도 참조하십시오 .

QPolygon::QPolygon(const QRect &rectangle, bool closed = false)

주어진 rectangle 에서 다각형을 생성합니다. closed 이 거짓이면 다각형은 시계 방향으로 정렬된 직사각형의 네 점만 포함하며, 그렇지 않으면 다각형의 다섯 번째 점이 rectangle.topLeft()로 설정됩니다.

직사각형의 오른쪽 하단 모서리는 (rectangle.x() + rectangle.width(), rectangle.y() + rectangle.height())에 위치합니다.

setPoints()도 참조하세요 .

QRect QPolygon::boundingRect() const

다각형의 경계 사각형을 반환하거나 다각형이 비어 있는 경우 QRect(0, 0, 0, 0)을 반환합니다.

QList::isEmpty()도 참조하세요 .

bool QPolygon::containsPoint(const QPoint &point, Qt::FillRule fillRule) const

지정된 point 이 지정된 fillRule 에 따라 폴리곤 안에 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

QPolygon QPolygon::intersected(const QPolygon &r) const

이 다각형과 r 의 교집합인 다각형을 반환합니다.

다각형에 대한 집합 연산은 다각형을 영역으로 취급합니다. 닫히지 않은 다각형은 암시적으로 닫힌 것으로 취급됩니다.

intersects()도 참조하십시오 .

bool QPolygon::intersects(const QPolygon &p) const

현재 다각형이 주어진 다각형 p 과 어느 지점에서든 교차하면 true 을 반환합니다. 또한 현재 다각형에 p 의 일부가 포함되거나 포함된 경우 true 를 반환합니다.

다각형에 대한 집합 연산은 다각형을 영역으로 취급합니다. 닫히지 않은 다각형은 암시적으로 닫힌 것으로 취급됩니다.

intersected()도 참조하세요 .

void QPolygon::point(int index, int *x, int *y) const

주어진 index 에서 *x 및 *y (유효한 포인터인 경우)로 점의 좌표를 추출합니다.

setPoint()도 참조하세요 .

QPoint QPolygon::point(int index) const

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

주어진 index 의 지점을 반환합니다.

void QPolygon::putPoints(int index, int nPoints, int firstx, int firsty, ...)

변수 인수 목록의 nPoints 점을 주어진 index 에서 이 다각형으로 복사합니다.

포인트는 firstx 로 시작하여 firsty 등으로 이어지는 정수의 시퀀스로 주어집니다. index+nPoints 이 현재 크기를 초과하면 다각형의 크기가 조정됩니다.

예제 코드는 다각형을 1점에서 3점으로 확장하여 (4,5), (6,7), (8,9)의 세 점을 가진 다각형을 만듭니다:

QPolygon polygon(1);
polygon[0] = QPoint(4, 5);
polygon.putPoints(1, 2, 6,7, 8,9);

다음 코드는 동일한 결과를 가져오지만 여기서는 putPoints() 함수가 확장하지 않고 덮어씁니다:

QPolygon polygon(3);
polygon.putPoints(0, 3, 4,5, 0,0, 8,9);
polygon.putPoints(1, 1, 6,7);

setPoints()도 참조하세요 .

void QPolygon::putPoints(int index, int nPoints, const QPolygon &fromPolygon, int fromIndex = 0)

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

지정된 fromIndex (기본값은 0)의 nPoints 포인트를 fromPolygon 의 지정된 index 에서 시작하여 이 다각형으로 복사합니다. 예를 들어

QPolygon polygon1;
polygon1.putPoints(0, 3, 1,2, 0,0, 5,6);
// polygon1 is now the three-point polygon(1,2, 0,0, 5,6);

QPolygon polygon2;
polygon2.putPoints(0, 3, 4,4, 5,5, 6,6);
// polygon2 is now (4,4, 5,5, 6,6);

polygon1.putPoints(2, 3, polygon2);
// polygon1 is now the five-point polygon(1,2, 0,0, 4,4, 5,5, 6,6);

void QPolygon::setPoint(int index, int x, int y)

주어진 index 의 지점을 (x, y)에 지정된 지점으로 설정합니다.

point(), putPoints() 및 setPoints()도 참조하세요 .

void QPolygon::setPoint(int index, const QPoint &point)

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

주어진 index 의 지점을 주어진 point 으로 설정합니다.

void QPolygon::setPoints(int nPoints, const int *points)

다각형의 크기를 nPoints 로 조정하고 주어진 points 으로 채웁니다.

예제 코드는 두 점 (10, 20) 및 (30, 40)이 있는 다각형을 만듭니다:

static const int points[] = { 10, 20, 30, 40 };
QPolygon polygon;
polygon.setPoints(2, points);

setPoint() 및 putPoints()도 참조하세요 .

void QPolygon::setPoints(int nPoints, int firstx, int firsty, ...)

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

다각형의 크기를 nPoints 로 조정하고 변수 인수 목록에 지정된 점으로 다각형을 채웁니다. 점은 firstx 로 시작하여 firsty 등으로 이어지는 정수의 시퀀스로 주어집니다.

예제 코드는 두 점 (10, 20) 및 (30, 40)이 있는 다각형을 만듭니다:

QPolygon polygon;
polygon.setPoints(2, 10, 20, 30, 40);

QPolygon QPolygon::subtracted(const QPolygon &r) const

이 다각형에서 r 을 뺀 다각형을 반환합니다.

다각형에 대한 집합 연산은 다각형을 영역으로 취급합니다. 닫히지 않은 다각형은 암시적으로 닫힌 것으로 취급됩니다.

[noexcept] void QPolygon::swap(QPolygon &other)

이 다각형을 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

[since 6.4] QPolygonF QPolygon::toPolygonF() const

이 다각형을 부동 소수점 정확도를 가진 다각형으로 반환합니다.

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

QPolygonF::toPolygon()도 참조하십시오 .

void QPolygon::translate(int dx, int dy)

다각형의 모든 점을 (dx, dy)로 변환합니다.

translated()도 참조하세요 .

void QPolygon::translate(const QPoint &offset)

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

주어진 값 offset 으로 다각형의 모든 점을 변환합니다.

translated()도 참조하세요 .

QPolygon QPolygon::translated(int dx, int dy) const

(dx, dy)로 번역된 다각형의 사본을 반환합니다.

translate()도 참조하세요 .

QPolygon QPolygon::translated(const QPoint &offset) const

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

주어진 offset 에 의해 변환된 다각형의 복사본을 반환합니다.

translate()도 참조하세요 .

QPolygon QPolygon::united(const QPolygon &r) const

이 다각형과 r 의 합집합인 다각형을 반환합니다.

다각형에 대한 집합 연산은 다각형을 영역으로 취급하고 다각형을 암시적으로 닫습니다.

intersected() 및 subtracted()도 참조하세요 .

QVariant QPolygon::operator QVariant() const

다각형을 QVariant

관련 비회원

QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon)

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

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

QDataStream &operator>>(QDataStream &stream, QPolygon &polygon)

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

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.