QPolygon Class
La clase QPolygon proporciona una lista de puntos con precisión entera. Más...
| Cabecera: | #include <QPolygon> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Hereda: | QList |
- Lista de todos los miembros, incluyendo los heredados
- QPolygon es parte de Painting Classes e Implicitly Shared Classes.
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| 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 |
| operator QVariant() const |
No Miembros Relacionados
| QDataStream & | operator<<(QDataStream &stream, const QPolygon &polygon) |
| QDataStream & | operator>>(QDataStream &stream, QPolygon &polygon) |
Descripción Detallada
Un objeto QPolygon es un QList<QPoint>. La forma más sencilla de añadir puntos a un QPolygon es utilizar el operador de flujo de QList, como se ilustra a continuación:
Además de las funciones proporcionadas por QList, QPolygon proporciona algunas funciones específicas de punto.
Cada punto de un polígono puede ser recuperado pasando su índice a la función point(). Para rellenar el polígono, QPolygon proporciona la función setPoint() para fijar el punto en un índice dado, la función setPoints() para fijar todos los puntos en el polígono (redimensionándolo al número de puntos dado), y la función putPoints() que copia un número de puntos dados en el polígono desde un índice especificado (redimensionando el polígono si es necesario).
QPolygon proporciona las funciones boundingRect() y translate() para las funciones de geometría. Utilice la función QTransform::map() para transformaciones más generales de QPolygons.
La clase QPolygon es implícitamente compartida.
Ver también QList, QPolygonF, y QLine.
Documentación de Funciones Miembro
[constexpr noexcept] QPolygon::QPolygon()
Construye un polígono sin puntos.
Véase también QList::isEmpty().
QPolygon::QPolygon(const QList<QPoint> &points)
Construye un polígono que contiene la dirección points especificada.
Véase también setPoints().
QPolygon::QPolygon(const QRect &rectangle, bool closed = false)
Construye un polígono a partir de rectangle. Si closed es falso, el polígono sólo contiene los cuatro puntos del rectángulo ordenados en el sentido de las agujas del reloj; en caso contrario, el quinto punto del polígono se establece en rectangle.topLeft().
Tenga en cuenta que la esquina inferior derecha del rectángulo se encuentra en (rectangle.x() + rectangle.width(), rectangle.y() + rectangle.height()).
Véase también setPoints().
QRect QPolygon::boundingRect() const
Devuelve el rectángulo que delimita el polígono, o QRect(0, 0, 0, 0) si el polígono está vacío.
Véase también QList::isEmpty().
bool QPolygon::containsPoint(const QPoint &point, Qt::FillRule fillRule) const
Devuelve true si el point dado está dentro del polígono según el fillRule especificado ; en caso contrario devuelve false.
QPolygon QPolygon::intersected(const QPolygon &r) const
Devuelve un polígono que es la intersección de este polígono y r.
Las operaciones de conjunto en polígonos tratarán los polígonos como áreas. Los polígonos no cerrados se tratarán como implícitamente cerrados.
Véase también intersects().
bool QPolygon::intersects(const QPolygon &p) const
Devuelve true si el polígono actual interseca en cualquier punto al polígono dado p. También devuelve true si el polígono actual contiene o está contenido por cualquier parte de p.
Las operaciones de conjunto en polígonos tratarán los polígonos como áreas. Los polígonos no cerrados se tratarán como implícitamente cerrados.
Véase también intersected().
void QPolygon::point(int index, int *x, int *y) const
Extrae las coordenadas del punto en el index dado a *x y *y (si son punteros válidos).
Véase también setPoint().
QPoint QPolygon::point(int index) const
Devuelve el punto en la dirección index.
Se trata de una función sobrecargada.
void QPolygon::putPoints(int index, int nPoints, int firstx, int firsty, ...)
Copia nPoints puntos de la lista de argumentos variables en este polígono desde el index dado.
Los puntos se dan como una secuencia de enteros, empezando por firstx y luego firsty, y así sucesivamente. El polígono se redimensiona si index+nPoints excede su tamaño actual.
El código de ejemplo crea un polígono con tres puntos (4,5), (6,7) y (8,9), expandiendo el polígono de 1 a 3 puntos:
El siguiente código tiene el mismo resultado, pero aquí la función putPoints() sobrescribe en lugar de ampliar:
QPolygon polygon(3); polygon.putPoints(0, 3, 4,5, 0,0, 8,9); polygon.putPoints(1, 1, 6,7);
Véase también setPoints().
void QPolygon::putPoints(int index, int nPoints, const QPolygon &fromPolygon, int fromIndex = 0)
Copia nPoints puntos del fromIndex dado ( 0 por defecto) en fromPolygon en este polígono, comenzando en el index especificado . Por ejemplo:
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);
Esta es una función sobrecargada.
void QPolygon::setPoint(int index, int x, int y)
Establece el punto en el index dado al punto especificado por (x, y).
Véase también point(), putPoints() y setPoints().
void QPolygon::setPoint(int index, const QPoint &point)
Establece el punto en el index dado al point dado.
Se trata de una función sobrecargada.
void QPolygon::setPoints(int nPoints, const int *points)
Redimensiona el polígono a nPoints y lo rellena con el points dado.
El código de ejemplo crea un polígono con dos puntos (10, 20) y (30, 40):
static const int points[] = { 10, 20, 30, 40 }; QPolygon polygon; polygon.setPoints(2, points);
Véase también setPoint() y putPoints().
void QPolygon::setPoints(int nPoints, int firstx, int firsty, ...)
Redimensiona el polígono a nPoints y lo rellena con los puntos especificados por la lista de argumentos variable. Los puntos se dan como una secuencia de números enteros, empezando por firstx y luego firsty, y así sucesivamente.
El código de ejemplo crea un polígono con dos puntos (10, 20) y (30, 40):
QPolygon polygon; polygon.setPoints(2, 10, 20, 30, 40);
Se trata de una función sobrecargada.
QPolygon QPolygon::subtracted(const QPolygon &r) const
Devuelve un polígono que es r restado de este polígono.
Las operaciones de conjunto sobre polígonos tratarán los polígonos como áreas. Los polígonos no cerrados se tratarán como implícitamente cerrados.
[noexcept] void QPolygon::swap(QPolygon &other)
Intercambia este polígono con other. Esta operación es muy rápida y nunca falla.
[since 6.4] QPolygonF QPolygon::toPolygonF() const
Devuelve este polígono como un polígono con precisión de coma flotante.
Esta función se introdujo en Qt 6.4.
Véase también QPolygonF::toPolygon().
void QPolygon::translate(int dx, int dy)
Traslada todos los puntos del polígono por (dx, dy).
Véase también translated().
void QPolygon::translate(const QPoint &offset)
Traslada todos los puntos del polígono según la dirección offset.
Esta es una función sobrecargada.
Véase también translated().
QPolygon QPolygon::translated(int dx, int dy) const
Devuelve una copia del polígono traducido por (dx, dy).
Véase también translate().
QPolygon QPolygon::translated(const QPoint &offset) const
Devuelve una copia del polígono trasladado por la dirección offset.
Esta es una función sobrecargada.
Véase también translate().
QPolygon QPolygon::united(const QPolygon &r) const
Devuelve un polígono que es la unión de este polígono y r.
Las operaciones de conjunto sobre polígonos, tratarán los polígonos como áreas, e implícitamente cerrarán el polígono.
Véase también intersected() y subtracted().
QPolygon::operator QVariant() const
Devuelve el polígono como QVariant
No miembros relacionados
QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon)
Escribe el polygon dado en el stream dado, y devuelve una referencia al flujo.
Véase también Serializar tipos de datos Qt.
QDataStream &operator>>(QDataStream &stream, QPolygon &polygon)
Lee un polígono del stream dado en el polygon 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.