c++ - QGraphicsPolygonItem 绘制一个开放的(非封闭的)多边形

标签 c++ qt qgraphicsview

我正在使用 QGraphicsPolygonItem,我注意到它总是将终点与起点连接起来。

我知道多边形术语就是这个意思,我要找的是“折线”或“多边形链”。我没有在 QGraphicsItem 子类中找到类似的东西。

如何在 QGraphics Framework 中绘制多边形链?是否有 QGraphicsPolygonItem 的属性或执行此操作的类?

最佳答案

我有一个类似的问题,我通过使用 QGraphicsPathItem 类解决了它。在下面的代码中,polygon 是一个非闭合的 QPolygonF 对象(即起点与终点不同的 QPolygonF):

QPainterPath path = new QPainterPath();
path.addPolygon(polygon);
QGraphicsPathItem contour = new QGraphicsPathItem(path);
contour.setPen(new QPen(QColor.black));

当显示这个 QGraphicsPathItem 对象时,起点(理论上)与其终点断开连接。

很抱歉,这个示例代码是用 Java 编写的;但机制应该与 C++ 中的相同。

关于c++ - QGraphicsPolygonItem 绘制一个开放的(非封闭的)多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727656/

相关文章:

c# - C/C++ 到 C# 转换器或模拟器

c++ - 处理导出到 QtScript 的函数中抛出的 C++ 异常

c++ - Qt keyPressEvent 错误

c++ - QGraphicsView 不在滚动事件上重新绘制

c++ - 停止 Qt QGraphicsView 在调整大小时滚动

c++ - RAII 对象 tr1 :shared_ptr

c++ - 我们可以通过哪些不同的方式动态链接 DLL

c++ - 如何使用指针访问 vector 元素的各个元素?

qt - 如何将 QDockWidget 锚定到右上角区域?

c++ - 重新实现鼠标事件时对 QGraphicsView 的奇怪影响