QPolygonF Class
QPolygonF 类提供了一个采用浮点精度的点列表。更多内容...
| 头文件: | #include <QPolygonF> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 继承自: | QList |
- 所有成员列表(包括继承的成员)
- QPolygonF 属于“绘图类”和“隐式共享类”。
注意:该类中的所有函数均为可重入的。
公共函数
| 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) |
详细说明
QPolygonF 是一个QList<QPointF>。向 QPolygonF 添加点最简单的方法是使用其流操作符,如下所示:
除了QList 提供的函数外,QPolygonF还提供了用于几何操作的boundingRect()和translate()函数。若需对QPolygonF进行更通用的变换,请使用QTransform::map()函数。
QPolygonF 还提供了isClosed() 函数,用于判断多边形的起始点和终点是否相同,以及toPolygon() 函数,该函数返回该多边形的整数精度副本。
QPolygonF 类是隐式共享的。
另请参阅 QList 、QPolygon 和QLineF 。
成员函数文档
[constexpr noexcept default] QPolygonF::QPolygonF()
构建一个没有顶点的多边形。
另请参阅 QList::isEmpty()。
QPolygonF::QPolygonF(const QList<QPointF> &points)
构建一个包含指定points 的多边形。
QPolygonF::QPolygonF(const QPolygon &polygon)
根据指定的基于整数的polygon ,构建一个基于浮点数的多边形。
另请参阅 toPolygon()。
QPolygonF::QPolygonF(const QRectF &rectangle)
根据指定的rectangle 构建一个闭合多边形。
该多边形包含矩形的四个顶点,按顺时针顺序排列,以左上角顶点为起始点和终点。
另请参阅 isClosed()。
QRectF QPolygonF::boundingRect() const
返回多边形的包围矩形;如果多边形为空,则返回QRectF(0,0,0,0)。
另请参阅 QList::isEmpty()。
bool QPolygonF::containsPoint(const QPointF &point, Qt::FillRule fillRule) const
如果根据指定的fillRule ,给定的point 位于多边形内部,则返回true ;否则返回false 。
QPolygonF QPolygonF::intersected(const QPolygonF &r) const
返回一个多边形,该多边形是本多边形与r 的交集。
对多边形的集合运算将把多边形视为区域。非闭合多边形将被隐式地视为闭合。
另请参阅 intersects()。
bool QPolygonF::intersects(const QPolygonF &p) const
如果当前多边形与给定多边形p 在任何一点相交,则返回true 。此外,如果当前多边形包含p 的任何部分,或者被其任何部分包含,则返回true 。
多边形的集合运算将把多边形视为区域。非闭合多边形将被隐式视为闭合。
另请参阅 intersected()。
bool QPolygonF::isClosed() const
如果多边形是闭合的,则返回true ;否则返回false 。
如果多边形的起始点和终点相等,则该多边形被称为闭合多边形。
另请参阅 QList::first() 和QList::last()。
QPolygonF QPolygonF::subtracted(const QPolygonF &r) const
返回一个多边形,该多边形由本多边形减去r 所得。
对多边形进行集合运算时,将把多边形视为区域。非闭合多边形将被隐式视为闭合多边形。
void QPolygonF::swap(QPolygonF &other)
将此多边形与other 互换。此操作速度极快,且绝不会失败。
QPolygon QPolygonF::toPolygon() const
通过将每个 `QPointF ` 转换为 `QPoint`,创建并返回一个 `QPolygon `。
另请参阅 QPointF::toPoint()。
void QPolygonF::translate(const QPointF &offset)
将多边形中的所有点沿给定的offset 进行平移。
另请参阅 translated()。
void QPolygonF::translate(qreal dx, qreal dy)
将多边形中的所有点平移 (dx,dy)。
这是一个重载函数。
另请参阅 translated()。
QPolygonF QPolygonF::translated(const QPointF &offset) const
返回一个经过指定offset 平移的多边形副本。
另请参阅 translate()。
QPolygonF QPolygonF::translated(qreal dx, qreal dy) const
返回一个经过平移(dx ,dy )处理的多边形副本。
这是一个重载函数。
另请参阅 translate()。
QPolygonF QPolygonF::united(const QPolygonF &r) const
返回一个多边形,该多边形是本多边形与r 的并集。
对多边形的集合运算将把多边形视为区域。非闭合多边形将被隐式地视为闭合。
另请参阅 intersected() 和subtracted()。
QPolygonF::operator QVariant() const
将多边形作为QVariant 返回。
相关非成员
QDataStream &operator<<(QDataStream &stream, const QPolygonF &polygon)
将给定的polygon 写入给定的stream ,并返回该流的引用。
另请参阅 《Qt 数据类型的序列化》。
QDataStream &operator>>(QDataStream &stream, QPolygonF &polygon)
将给定的stream 中的多边形读取到给定的polygon 中,并返回该流的引用。
另请参阅 《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.