Sur cette page

QPolygonF Class

La classe QPolygonF fournit une liste de points utilisant la précision de la virgule flottante. Plus d'informations...

En-tête : #include <QPolygonF>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Héritages : QList

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

QPolygonF()
QPolygonF(const QList<QPointF> &points)
QPolygonF(const QPolygon &polygon)
QPolygonF(const QRectF &rectangle)
QRectF boundingRect() const
bool containsPoint(const QPointF &point, Qt::FillRule fillRule) const
QPolygonF intersected(const QPolygonF &r) const
bool intersects(const QPolygonF &p) const
bool isClosed() const
QPolygonF subtracted(const QPolygonF &r) const
void swap(QPolygonF &other)
QPolygon toPolygon() const
void translate(const QPointF &offset)
void translate(qreal dx, qreal dy)
QPolygonF translated(const QPointF &offset) const
QPolygonF translated(qreal dx, qreal dy) const
QPolygonF united(const QPolygonF &r) const
operator QVariant() const
QDataStream &operator<<(QDataStream &stream, const QPolygonF &polygon)
QDataStream &operator>>(QDataStream &stream, QPolygonF &polygon)

Description détaillée

Un QPolygonF est un QList<QPointF>. La manière la plus simple d'ajouter des points à un QPolygonF est d'utiliser son opérateur de flux, comme illustré ci-dessous :

QPolygonF polygon;
polygon << QPointF(10.4, 20.5) << QPointF(20.2, 30.2);

Outre les fonctions fournies par QList, QPolygonF fournit les fonctions boundingRect() et translate() pour les opérations géométriques. Utilisez la fonction QTransform::map() pour des transformations plus générales des QPolygonF.

QPolygonF fournit également la fonction isClosed() pour déterminer si les points de départ et d'arrivée d'un polygone sont identiques, ainsi que la fonction toPolygon() qui renvoie une copie de ce polygone avec une précision entière.

La classe QPolygonF est implicitement partagée.

Voir également QList, QPolygon, et QLineF.

Documentation des fonctions membres

[constexpr noexcept] QPolygonF::QPolygonF()

Construit un polygone sans points.

Voir aussi QList::isEmpty().

QPolygonF::QPolygonF(const QList<QPointF> &points)

Construit un polygone contenant l'adresse points spécifiée.

QPolygonF::QPolygonF(const QPolygon &polygon)

Construit un polygone basé sur les flottants à partir du polygone basé sur les entiers spécifié polygon.

Voir aussi toPolygon().

QPolygonF::QPolygonF(const QRectF &rectangle)

Construit un polygone fermé à partir de rectangle.

Le polygone contient les quatre sommets du rectangle dans le sens des aiguilles d'une montre, en commençant et en terminant par le sommet gauche.

Voir aussi isClosed().

QRectF QPolygonF::boundingRect() const

Renvoie le rectangle de délimitation du polygone, ou QRectF(0,0,0,0) si le polygone est vide.

Voir aussi QList::isEmpty().

bool QPolygonF::containsPoint(const QPointF &point, Qt::FillRule fillRule) const

Renvoie true si l'objet donné point se trouve à l'intérieur du polygone selon fillRule; sinon, renvoie false.

QPolygonF QPolygonF::intersected(const QPolygonF &r) const

Renvoie un polygone qui est l'intersection de ce polygone et de r.

Les opérations de définition sur les polygones traiteront les polygones comme des zones. Les polygones non fermés seront traités comme implicitement fermés.

Voir aussi intersects().

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

Renvoie true si le polygone actuel intersecte en tout point le polygone donné p. Renvoie également true si le polygone actuel contient ou est contenu par une partie quelconque de p.

Les opérations de définition sur les polygones traiteront les polygones comme des zones. Les polygones non fermés seront traités comme implicitement fermés.

Voir aussi intersected().

bool QPolygonF::isClosed() const

Renvoie true si le polygone est fermé, sinon renvoie false.

Un polygone est dit fermé si son point de départ et son point d'arrivée sont égaux.

Voir aussi QList::first() et QList::last().

QPolygonF QPolygonF::subtracted(const QPolygonF &r) const

Renvoie un polygone qui est r soustrait de ce polygone.

Les opérations de définition sur les polygones traiteront les polygones comme des zones. Les polygones non fermés seront traités comme implicitement fermés.

void QPolygonF::swap(QPolygonF &other)

Échange ce polygone avec other. Cette opération est très rapide et n'échoue jamais.

QPolygon QPolygonF::toPolygon() const

Crée et renvoie un QPolygon en convertissant chaque QPointF en QPoint.

Voir aussi QPointF::toPoint().

void QPolygonF::translate(const QPointF &offset)

Traduire tous les points du polygone par la valeur donnée offset.

Voir aussi translated().

void QPolygonF::translate(qreal dx, qreal dy)

Traduit tous les points du polygone par (dx, dy).

Il s'agit d'une fonction surchargée.

Voir aussi translated().

QPolygonF QPolygonF::translated(const QPointF &offset) const

Renvoie une copie du polygone qui est translaté par la valeur donnée offset.

Voir aussi translate().

QPolygonF QPolygonF::translated(qreal dx, qreal dy) const

Renvoie une copie du polygone traduit par (dx, dy).

Il s'agit d'une fonction surchargée.

Voir aussi translate().

QPolygonF QPolygonF::united(const QPolygonF &r) const

Renvoie un polygone qui est l'union de ce polygone et de r.

Les opérations d'ensemble sur les polygones traiteront les polygones comme des zones. Les polygones non fermés seront traités comme implicitement fermés.

Voir aussi intersected() et subtracted().

QPolygonF::operator QVariant() const

Renvoie le polygone sous forme de QVariant.

Non-membres apparentés

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

Écrit la donnée polygon dans la donnée stream, et renvoie une référence au flux.

Voir aussi Serializing Qt Data Types (Sérialisation des types de données Qt).

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

Lit un polygone à partir de l'adresse stream dans l'adresse polygon, et renvoie une référence au flux.

Voir aussi Serializing Qt Data Types (Sérialisation des types de données 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.