
We bake cookies in your browser for a better experience. Using this site means that you consent.Read More
TheQPolygon class provides a vector of points using integer precision.More...
| Header: | #include <QPolygon> |
| Inherits: | QVector<QPoint> |
| Inherited By: |
Note: All functions in this class arereentrant.
| QPolygon() | |
| QPolygon(int size) | |
| QPolygon(const QPolygon & polygon) | |
| QPolygon(const QVector<QPoint> & points) | |
| QPolygon(const QRect & rectangle, bool closed = false) | |
| ~QPolygon() | |
| QRect | boundingRect() const |
| bool | containsPoint(const QPoint & point, Qt::FillRule fillRule) const |
| QPolygon | intersected(const QPolygon & r) 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) |
| 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 |
| QDataStream & | operator<<(QDataStream & stream, const QPolygon & polygon) |
| QDataStream & | operator>>(QDataStream & stream, QPolygon & polygon) |
TheQPolygon class provides a vector of points using integer precision.
AQPolygon object is aQVector<QPoint>. The easiest way to add points to aQPolygon is to useQVector's streaming operator, as illustrated below:
In addition to the functions provided byQVector,QPolygon provides some point-specific functions.
Each point in a polygon can be retrieved by passing its index to thepoint() function. To populate the polygon,QPolygon provides thesetPoint() function to set the point at a given index, thesetPoints() function to set all the points in the polygon (resizing it to the given number of points), and theputPoints() function which copies a number of given points into the polygon from a specified index (resizing the polygon if necessary).
QPolygon provides theboundingRect() andtranslate() functions for geometry functions. Use theQMatrix::map() function for more general transformations of QPolygons.
TheQPolygon class isimplicitly shared.
See alsoQVector,QPolygonF, andQLine.
Constructs a polygon with no points.
See alsoQVector::isEmpty().
Constructs a polygon of the givensize. Creates an empty polygon ifsize == 0.
See alsoQVector::isEmpty().
Constructs a copy of the givenpolygon.
See alsosetPoints().
Constructs a polygon containing the specifiedpoints.
See alsosetPoints().
Constructs a polygon from the givenrectangle. Ifclosed is false, the polygon just contains the four points of the rectangle ordered clockwise, otherwise the polygon's fifth point is set torectangle.topLeft().
Note that the bottom-right corner of the rectangle is located at (rectangle.x() + rectangle.width(), rectangle.y() + rectangle.height()).
See alsosetPoints().
Destroys the polygon.
Returns the bounding rectangle of the polygon, orQRect(0, 0, 0, 0) if the polygon is empty.
See alsoQVector::isEmpty().
Returns true if the givenpoint is inside the polygon according to the specifiedfillRule; otherwise returns false.
This function was introduced in Qt 4.3.
Returns a polygon which is the intersection of this polygon andr.
Set operations on polygons will treat the polygons as areas. Non-closed polygons will be treated as implicitly closed.
This function was introduced in Qt 4.3.
Extracts the coordinates of the point at the givenindex to *x and *y (if they are valid pointers).
See alsosetPoint().
This is an overloaded function.
Returns the point at the givenindex.
CopiesnPoints points from the variable argument list into this polygon from the givenindex.
The points are given as a sequence of integers, starting withfirstx thenfirsty, and so on. The polygon is resized ifindex+nPoints exceeds its current size.
The example code creates a polygon with three points (4,5), (6,7) and (8,9), by expanding the polygon from 1 to 3 points:
The following code has the same result, but here the putPoints() function overwrites rather than extends:
QPolygon polygon(3); polygon.putPoints(0,3,4,5,0,0,8,9); polygon.putPoints(1,1,6,7);
See alsosetPoints().
This is an overloaded function.
CopiesnPoints points from the givenfromIndex ( 0 by default) infromPolygon into this polygon, starting at the specifiedindex. For example:
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);
Sets the point at the givenindex to the point specified by (x,y).
See alsopoint(),putPoints(), andsetPoints().
This is an overloaded function.
Sets the point at the givenindex to the givenpoint.
Resizes the polygon tonPoints and populates it with the givenpoints.
The example code creates a polygon with two points (10, 20) and (30, 40):
staticconstint points[]= {10,20,30,40 };QPolygon polygon; polygon.setPoints(2, points);
See alsosetPoint() andputPoints().
This is an overloaded function.
Resizes the polygon tonPoints and populates it with the points specified by the variable argument list. The points are given as a sequence of integers, starting withfirstx thenfirsty, and so on.
The example code creates a polygon with two points (10, 20) and (30, 40):
QPolygon polygon; polygon.setPoints(2,10,20,30,40);
Returns a polygon which isr subtracted from this polygon.
Set operations on polygons will treat the polygons as areas. Non-closed polygons will be treated as implicitly closed.
This function was introduced in Qt 4.3.
Swaps polygonother with this polygon. This operation is very fast and never fails.
This function was introduced in Qt 4.8.
Translates all points in the polygon by (dx,dy).
See alsotranslated().
This is an overloaded function.
Translates all points in the polygon by the givenoffset.
See alsotranslated().
Returns a copy of the polygon that is translated by (dx,dy).
This function was introduced in Qt 4.6.
See alsotranslate().
This is an overloaded function.
Returns a copy of the polygon that is translated by the givenoffset.
This function was introduced in Qt 4.6.
See alsotranslate().
Returns a polygon which is the union of this polygon andr.
Set operations on polygons, will treat the polygons as areas, and implicitly close the polygon.
This function was introduced in Qt 4.3.
See alsointersected() andsubtracted().
Returns the polygon as aQVariant
Writes the givenpolygon to the givenstream, and returns a reference to the stream.
This function was introduced in Qt 4.4.
See alsoSerializing Qt Data Types.
Reads a polygon from the givenstream into the givenpolygon, and returns a reference to the stream.
This function was introduced in Qt 4.4.
See alsoSerializing Qt Data Types.
© 2016 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 theGNU 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.