在Qt中创建一个开放的多边形(线条)
Create an open polygon in Qt (line strips)
如何创建一个 open 多边形,使用 QVector 初始化多边形,在 Qt?
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() = 假
- 第一个 = 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
是多边形,不是未完成的线。它被画成一个封闭的多边形,笔定义的线(可以不可见)由画笔填充(也可以不可见)。
如何创建一个 open 多边形,使用 QVector 初始化多边形,在 Qt?
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() = 假
- 第一个 = 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
是多边形,不是未完成的线。它被画成一个封闭的多边形,笔定义的线(可以不可见)由画笔填充(也可以不可见)。