gpt4 book ai didi

c++ - 在Qt中创建一个开放的多边形(线条)

转载 作者:搜寻专家 更新时间:2023-10-31 02:15:50 28 4
gpt4 key购买 nike

如何在 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() = false
  • 第一个 = 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com