如何使用 Qt 创建一个开放多边形,并使用 QVector 初始化该多边形?

QPolygonF 将始终关闭多边形并将最后一个点与第一个点连接。

谢谢你的帮助

[编辑]

中QGraphicsScene

QVector<QPointF> test{{1,1},{100,1},{100,100}};
QPolygonF polygon(test);
addPolygon(polygon);
qDebug() << polygon.isClosed();
qDebug() << polygon.first() << polygon.last();

输出:
  • 一个三角形,但我不要三角形。我想要线条
  • Polygon.isClosed()=假
  • First = 1,1
  • 最后= 100,100
  • 最佳答案

    您的意思是这样的吗:

    QVector<QPointF> test{{1,1},{100,1},{100,100}};
    QPainterPath path(test.front());
    for (size_t i = 1; i < test.size(); ++i)
        path.lineTo(test[i]);
    scene->addPath(path);
    


    QPolygonF是多边形,而不是未完成的线。它被绘制为一个封闭的多边形,并用笔刷(也可能是不可见的)填充了笔定义的线(可能是不可见的)。

    关于c++ - 在Qt中创建一个开放的多边形(线条),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38031192/

    10-11 21:53