QPolygonF Class

Die Klasse QPolygonF liefert eine Liste von Punkten mit Fließkommagenauigkeit. Mehr...

Kopfzeile: #include <QPolygonF>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Vererbt: QList

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

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
QVariant operator QVariant() const
QDataStream &operator<<(QDataStream &stream, const QPolygonF &polygon)
QDataStream &operator>>(QDataStream &stream, QPolygonF &polygon)

Detaillierte Beschreibung

Ein QPolygonF ist ein QList<QPointF>. Der einfachste Weg, Punkte zu einem QPolygonF hinzuzufügen, ist die Verwendung seines Streaming-Operators, wie unten dargestellt:

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

Zusätzlich zu den von QList bereitgestellten Funktionen bietet QPolygonF die Funktionen boundingRect() und translate() für Geometrieoperationen. Verwenden Sie die Funktion QTransform::map() für allgemeinere Transformationen von QPolygonFs.

QPolygonF bietet auch die Funktion isClosed(), um festzustellen, ob die Start- und Endpunkte eines Polygons gleich sind, und die Funktion toPolygon(), die eine Kopie dieses Polygons mit ganzzahliger Genauigkeit zurückgibt.

Die Klasse QPolygonF wird implizit gemeinsam genutzt.

Siehe auch QList, QPolygon, und QLineF.

Dokumentation der Mitgliedsfunktionen

[constexpr noexcept] QPolygonF::QPolygonF()

Konstruiert ein Polygon ohne Punkte.

Siehe auch QList::isEmpty().

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

Konstruiert ein Polygon, das die angegebene points enthält.

QPolygonF::QPolygonF(const QPolygon &polygon)

Konstruiert ein Float-basiertes Polygon aus dem angegebenen Integer-basierten polygon.

Siehe auch toPolygon().

QPolygonF::QPolygonF(const QRectF &rectangle)

Konstruiert ein geschlossenes Polygon aus dem angegebenen rectangle.

Das Polygon enthält die vier Eckpunkte des Rechtecks im Uhrzeigersinn, beginnend und endend mit dem oberen linken Eckpunkt.

Siehe auch isClosed().

QRectF QPolygonF::boundingRect() const

Gibt das begrenzende Rechteck des Polygons zurück, oder QRectF(0,0,0,0), wenn das Polygon leer ist.

Siehe auch QList::isEmpty().

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

Gibt true zurück, wenn das angegebene point innerhalb des Polygons gemäß dem angegebenen fillRule liegt; andernfalls wird false zurückgegeben.

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

Gibt ein Polygon zurück, das der Schnittpunkt dieses Polygons mit r ist.

Mengenoperationen auf Polygone behandeln die Polygone als Flächen. Nicht geschlossene Polygone werden als implizit geschlossen behandelt.

Siehe auch intersects().

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

Gibt true zurück, wenn das aktuelle Polygon an irgendeinem Punkt das angegebene Polygon p schneidet. Gibt auch true zurück, wenn das aktuelle Polygon einen beliebigen Teil von p enthält oder von diesem enthalten wird.

Mengenoperationen auf Polygone behandeln die Polygone als Flächen. Nicht geschlossene Polygone werden als implizit geschlossen behandelt.

Siehe auch intersected().

bool QPolygonF::isClosed() const

Gibt true zurück, wenn das Polygon geschlossen ist; andernfalls wird false zurückgegeben.

Ein Polygon gilt als geschlossen, wenn sein Start- und Endpunkt gleich sind.

Siehe auch QList::first() und QList::last().

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

Gibt ein Polygon zurück, das r von diesem Polygon subtrahiert wird.

Mengenoperationen an Polygonen behandeln die Polygone als Flächen. Nicht geschlossene Polygone werden als implizit geschlossen behandelt.

void QPolygonF::swap(QPolygonF &other)

Tauscht dieses Polygon mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QPolygon QPolygonF::toPolygon() const

Erzeugt eine QPolygon und gibt sie zurück, indem er jedes QPointF in ein QPoint umwandelt.

Siehe auch QPointF::toPoint().

void QPolygonF::translate(const QPointF &offset)

Verschiebt alle Punkte des Polygons um die angegebene offset.

Siehe auch translated().

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

Dies ist eine überladene Funktion.

Verschiebt alle Punkte im Polygon um (dx, dy).

Siehe auch translated().

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

Gibt eine Kopie des Polygons zurück, die mit dem angegebenen offset übersetzt ist.

Siehe auch translate().

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

Dies ist eine überladene Funktion.

Gibt eine Kopie des Polygons zurück, das durch (dx, dy) übersetzt wurde.

Siehe auch translate().

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

Gibt ein Polygon zurück, das die Vereinigung dieses Polygons und von r ist.

Mengenoperationen auf Polygone behandeln die Polygone als Flächen. Nicht geschlossene Polygone werden als implizit geschlossen behandelt.

Siehe auch intersected() und subtracted().

QVariant QPolygonF::operator QVariant() const

Gibt das Polygon als QVariant zurück.

Verwandte Nicht-Mitglieder

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

Schreibt die angegebene polygon in den angegebenen stream und gibt eine Referenz auf den Stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

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

Liest ein Polygon aus dem angegebenen stream in den angegebenen polygon und gibt eine Referenz auf den Stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

© 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.