我使用的是QGraphicsPolygonItem,我注意到它总是将终点与起点连接起来。
我知道多边形术语就是这个意思,我要找的就是“折线”或“多边形链”。我在QGraphicsItem子类中没有找到这样的东西。
如何在QGraphics框架中绘制多边形链?是否有QGraphicsPolygonItem的属性或类可以做到这一点?
发布于 2011-10-11 15:01:39
您可以使用QPainterPath和lineTo方法输入yors多段线点,然后使用QGraphicsPathItem将其生成图形项。
或者,您也可以考虑将多个QGraphicsLineItem合并到一个QGraphicsItemGroup中,但这会更加困难,因为您需要注意将行对齐。
这就是你要找的东西吗?
编辑:
QPainterPath显然是在关闭路径,然后只剩下一组行。
EDIT2:
很抱歉让您感到困惑,但是HostileFork似乎是对的-您只需使用QPainterPath并调用pathItem->setBrush(QBrush(Qt::transparent));
来保持您的路径不被填充。
发布于 2011-10-12 02:26:35
我也遇到过类似的问题,我使用QGraphicsPathItem类解决了这个问题。在下面的代码中,多边形是一个非闭合的QPolygonF对象(即起点与终点不同的QPolygonF ):
QPainterPath path = new QPainterPath();
path.addPolygon(polygon);
QGraphicsPathItem contour = new QGraphicsPathItem(path);
contour.setPen(new QPen(QColor.black));
在显示此QGraphicsPathItem对象时,起点(理论上)与终点断开。
很抱歉,这个示例代码是用Java语言编写的;但是其机制应该与C++中的相同。
https://stackoverflow.com/questions/7727656
复制