Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

QPolygon Class Reference
[QtGui module]

The QPolygon class provides a vector of points. More...

#include <QPolygon>

Inherits QVector<QPoint>.

Inherited by Q3PointArray.

Note: All the functions in this class are reentrant.

Public Functions

  • 62 public functions inherited from QVector

Additional Inherited Members

  • 2 static public members inherited from QVector

Detailed Description

The QPolygon class provides a vector of points.

A QPolygon is a QVector<QPoint>. It is implicitly shared. In addition to the functions provided by QVector, QPolygon provides some point-specific functions.

The easiest way to add points to a QPolygon is to use QVector's streaming operators, as illustrated below:

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

All other forms of manipulating a vector are available too, along with some compatibilty functions from Qt 3.

For geometry operations use boundingRect() and translate(). There is also the QMatrix::map() function for more general transformations of QPolygons.

Among others, QPolygon is used by QPainter::drawLineSegments(), QPainter::drawPolyline(), QPainter::drawPolygon() and QPainter::drawCubicBezier().

See also QPainter, QMatrix, QVector, and QPolygonF.


Member Function Documentation

QPolygon::QPolygon ()

Constructs an empty point array.

See also QVector::isEmpty().

QPolygon::QPolygon ( int size )

Constructs a point array with room for size points. Makes an empty array if size == 0.

See also QVector::isEmpty().

QPolygon::QPolygon ( const QPolygon & a )

Constructs a copy of the point array a.

QPolygon::QPolygon ( const QVector<QPoint> & pts )

Constructs a pointarray containing a copy of the points specified in pts.

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

Constructs a point array from the rectangle r.

If closed is false, then the point array just contains the following four points of the rectangle ordered clockwise. The bottom-right point is located at (r.x() + r.width(), r.y() + r.height()).

If closed is true, then a fifth point is set to r.topLeft().

QPolygon::~QPolygon ()

Destroys the point array.

QRect QPolygon::boundingRect () const

Returns the bounding rectangle of the points in the array, or QRect(0, 0, 0, 0) if the array is empty.

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

Reads the coordinates of the point at position index within the array and writes them into *x and *y if they are valid pointers.

See also setPoint().

QPoint QPolygon::point ( int index ) const

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns the point at position index within the array.

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

Copies nPoints points from the variable argument list into this point array from position index, and resizes the point array if index+nPoints exceeds the size of the array.

The example code creates an array with three points (4,5), (6,7) and (8,9), by expanding the array from 1 to 3 points:

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

This has the same result, but here putPoints overwrites rather than extends:

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

The points are given as a sequence of integers, starting with firstx then firsty, and so on.

See also setPoints().

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

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

This version of the function copies nPoints from from into this array, starting at index in this array and fromIndex in from. fromIndex is 0 by default.

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

See also setPoints().

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

Sets the point at position index in the array to (x, y).

See also point(), putPoints(), and setPoints().

void QPolygon::setPoint ( int i, const QPoint & p )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Sets the point at array index i to p.

See also putPoints() and setPoints().

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

Resizes the array to nPoints and sets the points in the array to the values taken from points.

The example code creates an array with two points (10, 20) and (30, 40):

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

See also resize(), setPoint(), and putPoints().

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

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Resizes the array to nPoints and sets the points in the array to the values taken from the variable argument list.

The example code creates an array with two points (10, 20) and (30, 40):

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

The points are given as a sequence of integers, starting with firstx then firsty, and so on.

See also resize(), putPoints(), and setPoint().

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

Translate all points in the array by (dx, dy).

void QPolygon::translate ( const QPoint & offset )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Translate all points in the array by offset.

QPolygon::operator QVariant () const

Returns the polygon as a QVariant

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 85
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 6
Page suivante

Le Qt Quarterly au hasard

Logo

Traduction dynamique

Qt Quarterly est la revue trimestrielle proposée par Nokia et à destination des développeurs Qt. Ces articles d'une grande qualité technique sont rédigés par des experts Qt. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.0
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web